Allow Modules to Request EndOfRun
This MR adds a new module exception which allows modules to request an end of the current event processing. This can be helpful e.g. for the ROOTObjectReader to request end of run when the input tree runs out of events.
Documentation is updated. Ready to merge.