ART: Clean up allocator.h

Move the single-use typedefs to their users. Remove now-unused
includes. Fix up transitive includes.

Test: m
Change-Id: I953d774b28f1e4f3191f96943e3a69ce66aa398a
diff --git a/runtime/mem_map.cc b/runtime/mem_map.cc
index 12793e4..8b94404 100644
--- a/runtime/mem_map.cc
+++ b/runtime/mem_map.cc
@@ -23,6 +23,7 @@
 #include <sys/resource.h>
 #endif
 
+#include <map>
 #include <memory>
 #include <sstream>
 
@@ -32,6 +33,7 @@
 #include "cutils/ashmem.h"
 
 #include "base/allocator.h"
+#include "base/bit_utils.h"
 #include "base/memory_tool.h"
 #include "globals.h"
 #include "utils.h"
@@ -46,6 +48,10 @@
 using android::base::StringPrintf;
 using android::base::unique_fd;
 
+template<class Key, class T, AllocatorTag kTag, class Compare = std::less<Key>>
+using AllocationTrackingMultiMap =
+    std::multimap<Key, T, Compare, TrackingAllocator<std::pair<const Key, T>, kTag>>;
+
 using Maps = AllocationTrackingMultiMap<void*, MemMap*, kAllocatorTagMaps>;
 
 // All the non-empty MemMaps. Use a multimap as we do a reserve-and-divide (eg ElfMap::Load()).