Removed unused code from MessageLogger system

The MessageLogger system included a large amount of code which we
never use. This commit should have removed most of that.
ELadministrator no longer needs to be a singleton

Since only MessageLoggerScribe now communicates with ELadministrator it can directly own it.
Have standalone tests no longer use MessageServicePresence

For standalone tests that need to configure the MessageLogger, have them use the SingleThreadedMSPresence. Also some tests had already commented out usage of MessageServicePresence and in those instances I just deleted the commented code.
ELdestControl has no need for its methods to be virtual

The ELdestControl class has been around since 2005 and in all that time there has never been a need to subclass it. In fact, since it is just a wrapper around an abstract base class, subclassing ELdestControl will never be required.
Removed unused job report code from MessageLoggerService

Originally the MessageLogger was used to control the framework job report, however that has not been true for many years. This commit removes all the old code which dealt with the job report through the MessageLogger.
No need for MessageDrop.h include
Guarantee that post construction signals are always sent to Services

In the past, if a module threw an exception while being constructed the Service system would see the pre construction signal but not a post construction signal. This lead to some difficulty with the message logger's internal state. This commit guarantees that if a pre construction signal is sent, a post construction signal will also be sent.
Updated MessageDrop interface in preparation for multi-threaded data processing

Changes to MessageDrop are
-moduleName was never used so it was removed
-the *Enabled methods are once again instance variables and not statics since they can be different for each thread
-jobMode is now a static since it is really only used as a configuration mechanism (should probably be moved elsewhere)
-snapshot() never made sense since it was only used to force the storage of information for a later message which shouldn't be using that information anyway. It was replaced with clear().

Other classes where updated to conform to the new interface and usage.
Switch to new thread safe callbacks

Part of the switch to the new ActivityRegistry thread safe callbacks required caching the formatted transition information (e.g. run and event number). Also storing a moduleStack no longer makes sense since that is a per thread concept. The new ModuleCallingContext information contains access to what module was previously on the thread.
Updated interface to match new Service signals.

The ActivityRegistry was changed to no longer send edm::Run, edm::LuminosityBlock, edm::Event or edm::EventSetup via the new thread-safe signals. This code is needed to match that change.
Added begin/end Stream callbacks for modules.

Now tracks when a begin/end Stream is called for each module.
Changed so header can be parsed by ROOT
Missed removing an include that went away.
Updated to changes in MessageLogger
Use new ThreadSafeLogMessageLoggerScribe as the default scribe

The ThreadSafeLogMessageLoggerScribe can properly handle multiple threads issuing a 'log' message to the MessageLogger. This does not require a separate thread to handle and instead one of the concurrent threads calling 'log' is picked to issue the messages for all the threads. This was made the default scribe for cmsRun.
Merge pull request #827 from Dr15Jones/updateMessageLogger

Multithread Framework -- Update MessageLogger to use new thread-safe Service signals