Modernized and evolved Auditors
This MR was built on top of !1723 (merged) and should thus be merged after it
Main goal was to make EventContext available in Auditors to be able to implement thread safe behaviors (e.g. Timingauditor)
A new interface is introduced : Gaudi::IAuditor as well as a new base class Gaudi::Auditor.
On top of the introduction of EventContext, Gaudi::IAuditor interface was simplified compared to previous ::IAuditor : INamedInterface support and StandardEventType support have been dropped.
Both were considered premature optimization at this stage, making the interface heavy (4 methods for before, 4 for after compared to 1 and 1 now)
Existing monitors have been migrated to the new structure in a separate commit. Initially this MR was essentially backward compatible and existing Auditors mostly continued working.
The only case where they would break or need a change is if/when they had been doing something different for StandardEventType vs CustomEventtype, aka std::string. In such a case, the behavior for CustomEventType will now be used for all cases.
In order to be backward compatible, the old interface was inheriting from the new one, so that code in Algorithm/Service/AlgTool could be adapted to the new interface.
I've now added a third commit, cleaning up completely the old interface and completing the move to the new one for all Monitors. Thus ::IAuditor, ::Auditor and ::CommonAuditor have now been dropped. User Auditors downstream needs to be adapted too, using the new interface.