Quality of life improvements to PyOpal
Following on from #745 (closed)
Couple of extra "usability" features:
- It should be possible to pass multiple arguments to a "setup" function for PyOpal objects
- If an argument is passed that is not recognised, PyOpal should throw an error. At the moment PyOpal quietly ignores unrecognised arguments - technically, this is consistent with "normal" python but it is not very nice
- It should be possible to define something as a required argument; if it is undefined, and user tries to use the class in anger (e.g. call to get_field_value) then PyOpal should throw an error.
- It should be possible to make PyOpal run silently (i.e. suppress output) or send output to a file. Bonus points if we can send PyOpal output to sys.stdout!
- In PyOpal/PyCore/Globals.cpp there is a hard coded constant for --processes (3). This should be user defined.