Added helper classes for using C strings as keys to a
std::unordered_map.
Cleaning up the distinction between different function types and
different variable types.