Modernize Muon
- change memory layout: use vectors of values instead of vectors of pointers to values allocated on the heap. Carefully reserve all vectors to insure that the addresses of the values are stable.
- add const when possible
- prefer struct over class for interfaces with only public methods
- prefer DeclareInterfaceID
- remove obsolete SVN keywords
- when returning 'owning pointers' do so using std::unique_ptr
- add final
- MuonLogHit: replace vector of either one or two pointers with std::pair
- prefer implicit destructors
- prefer STL algorithms over raw loops
- prefer auto
- minimize scope of variables
- in 'factory functions' return the created object instead of using an OUT parameter and returning a StatusCode