Implement and use the new interface of RecoCaloTools/Selectors.

MetaCollections are no longer used (replaced with edm::SortedCollection),
additionally users can pass a callback function/lambda to a selector and avoid building a collection altogether.
Make FastSimulation not dependant on MetaCollections.
Make DQMOffline/Trigger not dependant on MetaCollections.
TauAnalysis/MCEmbeddingTools/CaloRecHitMixer no longer requires EcalRecHit to inherit from CaloRecHit.
RecoJets/JetProducers/JetMatchingTools no longer requires EcalRecHit to inherit from CaloRecHit.

The JetMatchingTools now use struct with {detid, energy} instead of a pointer to *RecHit.
RecoLocalCalo/CaloTowersCreator/CaloTowersCreationAlgo no longer requires EcalRecHit to inherit from CaloRecHit.
EgammaCoreTools now uses EcalRecHit.checkFlag() instead of the deprecreted recoFlag().
Calibration/HcalCalibAlgos/GammaJetAnalysis no longer requires EcalRecHit to inherit from CaloRecHit.
Removal of MetaCollections and switching to a new EcalRecHit (no inheritance from CaloRecHit).
Merge pull request #2788 from dmitrijus/ecalrechit-no-inheritance-integration

Ecalrechit -- Ecalrechit no inheritance integration