Sink register allocation into codeGenImpl

Summary: Preparing for VASM; how/when we do register allocation
doesn't need to be surfaced this high in the JIT api.
Also remove MCGenerator* params and always use the global.
(some sites used the global anyway).

Reviewed By: @ottoni

Differential Revision: D1411388
Fix nemo warnings for *::class

Summary: It hadn't been updated to account for the new
pseudo-class-constants

Reviewed By: @jdelong

Differential Revision: D1410965
hhi cleanup

Summary: Clean revert of the following three diffs:

{D1364920}
{D1368049}
{D1376096}

plus the NEWS change.

With those reverted, we now consider hhi embedding to be the default
and non-optional; OSS users should get a suitably useful error message
to help upgrade).

This isn't going to be the normal upgrade path for more involved
changes, but this one is easy enough and can be given a good enough
error message we're just going to do this.

Reviewed By: @elgenie

Differential Revision: D1412234
Don't print clear-line escape sequence in json output

Summary: Refactored server connection so that I don't have to put the escape sequence printing
inside ClientUtils.connect where it doesn't know about all of args.

Reviewed By: @joelbeales

Differential Revision: D1413257
Add a json output mode for Autocomplete

Summary: -Move autocomplete's result type inside of AutocompleteService.
-Move result to json logic inside AutocompleteService so that both the IDE and hh_client can use the same code
-Send objects from hh_server to hh_client instead of formatted text
-Format text in hh_client based on whether or not output_json is set.

Reviewed By: @jwatzman

Differential Revision: D1412317
Allow OOM failures during PSP after an OOM in the main request

Summary: Facebook: This might be a good idea.

Reviewed By: @oyamauchi

Differential Revision: D1411378
Configure Logger in a certain way in the lint mode.

Summary: There was a recent change in cli.hdf that bumped the default
log level to warning. The "No syntax errors detected" message stopped
being printed which is extremely confusing.

Configuring Logger in a specific way so we always get these errors
printed to stdout.

Reviewed By: @markw65

Differential Revision: D1411557
Fix double-inlining bug w/ singleton inlining

Summary: My singleton inlining machinery assumed that the regular inliner could
never inline singleton patterns.  If this is false, we'll sometimes
inline a function twice, which appears to be happening in practice in
perflab.

I'll try to move the singleton stuff into the new inlining machinery
that I have diffs up for now.

Reviewed By: @bertmaher

Differential Revision: D1412015
Revert "put args in backtrace"

Summary: This reverts commit 6c73c78506536f309dc2445c4b525266008b0823.

D1408391 breaks flib/storage/tao/error/__tests__/TaoClientErrorsTest.php

Reviewed By: @jdelong

Differential Revision: D1414048
JIT on OSX

Summary: As discussed with @ptarjan, these don't fix the JIT entirely (though you can now do a JITted ``echo 1`` on OSX), but these are fine to land on their own.
Closes #2945

Reviewed By: @ptarjan

Differential Revision: D1401501

Pulled By: @LiraNuna
Update runtime options.

Summary: Sync with facebook/hhvm82906a2 and facebook/hhvm6661004.
Closes #3063

Reviewed By: @fredemmott

Differential Revision: D1410400

Pulled By: @LiraNuna
add missing include in ext_stream

Summary: We need to include sys/stat.h, or we might get errors such as:
error: aggregate 'stat s' has incomplete type and cannot be defined

Fixes the OSX build.
Closes #3061

Reviewed By: @fredemmott

Differential Revision: D1410257

Pulled By: @LiraNuna
Convert ext/xsl to HNI.

Summary: Two new tests:
```zend/bad/ext/xsl/tests/bug53965.php``` failing because of missing entity loader (see https://github.com/facebook/hhvm/pull/2376)
```zend/good/ext/xsl/tests/xslt010.php``` passing, imported from php-src

Signed-off-by: Arthur Loiret <arthur.loiretens-lyon.fr>
Closes #3059

Reviewed By: @fredemmott

Differential Revision: D1410101

Pulled By: @LiraNuna
Disable flaky zend test

Summary: failed on unrelated D1413405

Reviewed By: liranuna, bsimmers, alexanderm

Differential Revision: D1414139
only do libpam on apple

Summary: Doing what paravoid suggested on https://github.com/facebook/hhvm/pull/2085

Reviewed By: @fredemmott

Differential Revision: D1412431
use system sqlite if present

Summary: porting from http://anonscm.debian.org/gitweb/?p=collab-maint/hhvm.git;a=tree;f=debian/patches;h=d3f6359591ab2af99d1f8ce24bc37a7cb5353aac;hb=HEAD

Reviewed By: @fredemmott

Differential Revision: D1412602
use system double-conversion if present

Summary: upstreaming commit from http://anonscm.debian.org/gitweb/?p=collab-maint/hhvm.git;a=tree;f=debian/patches;h=d3f6359591ab2af99d1f8ce24bc37a7cb5353aac;hb=HEAD

Reviewed By: @fredemmott

Differential Revision: D1412494
use system liblz4 if available

Summary: Upstreaming http://anonscm.debian.org/gitweb/?p=collab-maint/hhvm.git;a=blob;f=debian/patches/use_system_lz4;h=efdaae12088122a7ff7baa0fd6cf03b5f194df7b;hb=HEAD

Reviewed By: @fredemmott

Differential Revision: D1412662
use libzip on the system if present

Summary: Upstreaming from http://anonscm.debian.org/gitweb/?p=collab-maint/hhvm.git;a=blob;f=debian/patches/use_system_libzip;h=07c87fc685dab67d6dfc4b0c1851f1f78249e3a1;hb=HEAD

Reviewed By: @fredemmott

Differential Revision: D1413045
Fix bug renumbering region blocks

Summary: For Profile translations, the first block is renumbered to match the
TransID of the translation, so that we can easily map BlockIds to
TransIDs for these translations.  However, the arcs involving such
blocks were not being adjusted accordingly.  This diff fixes this, and
also add an assertion to make sure that we only process blocks in
non-topological order in translateRegion when loops are enabled.

Reviewed By: @edwinsmith

Differential Revision: D1411119