Refactor minimal nlcbsmm

This change refactors gallocy to have the minimal Hoard components
needed to function. This means we pulled out just the parts of Hoard's
heaplayers that we needed to instantiate a memory allocator capable of
replacing system's malloc.

To accomodate STL allocators, I added a SingletonHeap which draws its
memory from the same source regardless of instance.