Modernize TrackIDs
- prefer std::numeric_limits over boost equivalent
- prefer direct member initialization
- prefer static_assert over BOOST_STATIC_ASSERT
- prefer table lookup over if-else-if as table can be re-used for inverse lookup -- which is now guaranteed consistent and needs less source code ( note: generated code is equivalent, see https://godbolt.org/g/cCzjsm )
- add UNLIKELY