Contiguous Heap Prototype

Summary: Add per thread contiguous heaps. Setting the build flag CONTIGUOUS_HEAP
will enable it. Heaps are allocated when the MM is initailized and madvised.
Slabs are allocated from the heap and use standard slab allocator for <2MB
allocations. Bigger allocations are allocated directly from heap, but their
address space is currently not reclaimed. They are just madvised during
smartFree. The heap size is set to 2gb, enough to compose home.php. Will
follow-up with diff to reclaim that address space of big allocations.

Currently there is an assert when freeing an object of size zero. I will fix
that before commit, but wanted to get a review of my approach.

Reviewed By: @edwinsmith

Differential Revision: D1640690