Refactor HeapId in BlockHeapManager.

This uses the std::pair pointer in the HeapQuarantineMap, rather than the BlockHeapInterface pointer. This allows going from a HeapId to the corresponding quarantine in O(1) without taking any locks, where previously a global lock was taken and an O(log N) search was performed. This removes the lock contention in Alloc.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/157640044