allow python configurables to add themselves to EventLoop job objects
The ultimate goal here is to have the python configurable no longer inherit from the C++ object, and instead create the C++ object only at the moment when it is needed, instead of having it as a base class and performing all updates simultaneously to the python object and the C++ object (to keep them in sync). However, for now it mostly adds an alternate way of adding algorithms to jobs, to actually make the more fundamental change to the configurables would require all users to update to the new formalism of adding algorithms to jobs. This also allows additional configurable objects to be used, e.g. I now treat algorithm sequences and algorithms the same. This could potentially also be used to change the target or mechanism of configuration at some point, e.g. to push this into an intermediate JSON file, but that's not an immediate goal.