{Packed,}ArrayInit is now the only way to create arrays while
assuming no write barriers are needed. To ensure it's safe, beef up
the assertions in their use. Fixed a few cases that had incorrect
size estimates.
Reviewed By: @markw65
Differential Revision: D980262
Gets HphpArrays into a flat mode using MM().objMalloc()
instead of SmartAllocator. Various optimizations were needed to the
Make functions to get this to work out ok. Growth still creates a
non-flat HphpArray (leaving a PromotedPayload behind so we know how
big the original allocation was).
Reviewed By: @edwinsmith
Differential Revision: D969431