Remove (almost) all uses of std:map

This replaces almost all uses of std::map with std::unordered_map,
which gives me a 2x performance boost for large computations.  Note
that this still isn't good enough, I'm going to have to deal with this
in a bit...