Rewrite BlockAllocator in attempt to free memory faster

And more importantly try to find that weird heap corruption, but no luck...

Anyway, Pangya: Fastasy Golf was spending a huge amount of time in MergeFreeBlocks, and I figured reverse_iterators are messy anyway so I moved away from STL.  This could use a free list, etc. but apparently this already helps the speed a lot.

-[Unknown]