L3 update

Here is the updated Muon HLT L3 reconstruction code. It contains a number of classes which have been modified that the current Cascade algorithm uses in addition to new classes. The modifications and new code can be used as part of a new algorithm which will replace the Cascade algorithm. However, the current Cascade algorithm can still be used.

Relevant presentations include: https://indico.cern.ch/event/297801 and https://indico.cern.ch/event/351559

The code has been updated for multithreading and updated with fillDescriptions() also.
why can it be a null?
If it's identifiably a bug, throw an exception, if it's an occasional "harmless" failure of the algorithm that wouldn't invalidate the event or even the results of the muon reco, use LogInfo or LogDebug