If for example pybind11 or python changes the type of exception thrown
and we expect a different (the old one) in our boost test, then the python
of pybind11 is left in an unusable condition and the next attempt of
running might produce hard to debug exception, This happened on Debian
bookworm (pybind 2.10.3, python 3.11) for syntax errors.
With this commit the PYACTION keyword is changed, instead of embedding the
Python code directly in the .DATA file the keyword now points to an external
file which is loaded verbatim into the PyAction keyword.
In addition the PYACTION keyword has now got a name and a string indicating how
many times it should run.