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.
change to ```const BeamSpot& beamSpot = *recoBeamSpotHandle;``` a few lines below. No need to split declare and init parts