Base changes

This lays the groundwork for the new JHM implementation (PR for that shortly).

Adds / cleans up a number of different utility functions in \<base>
Can we just implement `operator const char *` for `TDemangleStr` so that we can just say `Demangle<TObj>()` here?