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
LLVM tweaks/fixes

Summary: - Add -llvm option to prod Makefile, delete some old options.
- Fix a bug in processSvcReqs that was causing us to create an IncomingBranch
  with a nullptr TCA.
- Use emitEphemeralServiceReq in bindjmp translation instead of directly
  calling packServiceReqArgs and emitServiceReqWork. This just cleans up the
  code; it does the same thing at runtime.
- Change not_reached() at base case of codeBlockChoose() to
  always_assert(false). Using not_reached() here is pretty silly since it's a
  catastrophic failure.

Reviewed By: @jasone

Differential Revision: D1751883

Signature: t1:1751883:1419026706:730945ed86bdf7d1d12ba6a8b2b9e0bc2e7ca8dc