get ready for ZendCompat classes

This turns off the `ZendCompat` classes at runtime just like we do for functions.

Reviewed By: @paroski

Differential Revision: D976049
collections: set-like-array return value from Set::toArray

Set::toArray returns `array(val1 => val1, val2 => val2, ...)`. This
maintains set-like semantics in array() land: O(1) membership test
with `array_key_exists($key, $a)` or `$a[$key]` and iteration with `foreach($a as
$member)`. Int-like strings end up with numerical array keys.

For nice symmetry, the results of `$s->toArray()` are the same as those of
`array_combine(array_keys($s),array_values($s))`

Reviewed By: @paroski

Differential Revision: D970064
Update array_keys(), array_values(), array_combine() to support collections

Reviewed By: drussi

Differential Revision: D974413
update materialize_methods test for Set->toArray() change

... should fix cont build

Reviewed By: @markw65

Differential Revision: D980893
Don't warn on include'd files that are empty

We currently emit a "File not found" warning on empty files that
are include'd, whereas Zend PHP is silent.

Reviewed By: @markw65

Differential Revision: D977274
Regard unimplemented functions an non-existant

This can happen when a function is declared
in systemlib, but not implemented in cpp.

Reviewed By: @ptarjan

Differential Revision: D976157
Fix Set::toKeysArray() and Set::toValuesArray()

Reviewed By: @elgenie

Differential Revision: D981442
support objects in zend compat layer

everything in here was needed to make the oauth extension work

Reviewed By: @paroski

Differential Revision: D976237
import oauth extension (take 2)

redoing this after the revert

Reviewed By: @paroski

Differential Revision: D976056
hphp: replace ENABLE_ASAN with FOLLY_SANITIZE_ADDRESS

FOLLY_SANITIZE_ADDRESS is automatically enabled via the

Reviewed By: @scannell

Differential Revision: D978198
Fix OSX build

OSX build is broken, fix it

Reviewed By: bertrand

Differential Revision: D981730