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.
Also, when a data product is missing, ```iEvent.getByToken(...)``` won't throw anyway. The throw happens when you try to read from ```l3TrackCol```.