Streamline NewTuple and NewArray helpers

Rearrange the code so when we allocate an array from JIT code,
we call one helper where most of the code is inline.

Differential Revision: D917956
Fix arguments with __call and call_user_func_array

- Fix call_user_func_array to be Zend compliant, see new test
case

Closes #939

Differential Revision: D917994
Calculate dynamic invariant constants per process

- Cache and store invariant dynamic constants and set per
session instead of making more expensive calls

Differential Revision: D915702
Rename files in hhvm

Differential Revision: D914023
Fix a bug for typedefs to mixed when parameters are an object

Oversight in the case where it was an object.
(checkTypedefNonObj handled it properly.)

Differential Revision: D917712
Fix a capacity under-estimate in StringData::escalate

This looks like it should be using cap.  (The allocation size
is cap + 1.)

Differential Revision: D917389
Smaller string mode tests, don't overlap mode with capacity

Looking at the generated code for various StringData mode
dispatch cases, there were 64-bit immediates being put in registers
often to test the format value.  We also did masks on the capacity
just to see that the string was small.  This switches to just load the
byte that actually contains the mode, and use a 32-bit integer for
capacity (the largest string size fits in this).  Small checks only
need to compare that byte with zero.

Differential Revision: D914034
Move MySQL config settings into ext_mysql

Organization and de-monolithification.

Differential Revision: D918185
Avoid division by zero when aprof isn't allocated

That's it.

Differential Revision: D919880