Modernize CaloTools
- prefer direct member initialization
- remove trivial destructors
- prefer auto
- prefer assignment to vector over explicit series of push_back
- prefer std::max over a macro
- prefer std::unique_ptr over raw pointer + explicit delete
- prefer static const for static, constant data
- do not cast if not needed
- prefer extends over explicit virtual inheritance
- add const