Modernize LHCbKernel
- prefer struct for interfaces (which should be all public)
- use extend_interfaces instead of explicit virtual inheritance
- prefer DeclareInterFaceID
- do not add explicit trivial destructors
- prefer SmartIF over raw service pointer and explicit release
- prefer auto
- make CaloCellID 'final' and remove explicit destructor and explicit copy constructor