Further split Travis test matrix

Summary: Travis tests are still timing out, split them up as much as
possible to see if we can get more reliable results.
re-import php-src tests

Now that lockdown is done we are at 50.77%. This is from the newest 5.5
branch. 18b7875fab791bb88d73df360fd91f1ace70c5b3 to be exact.

The following tests were added to the bad directory. All of them for 2
reasons. Some date format thing changed (years are now 2 digits) and
they now are setting a constant as case-insensitive which we emit a
warning for so it breaks the test.

* test/zend/bad/ext/date/tests/DateTime_format_basic2.php
* test/zend/bad/ext/date/tests/date_constants.php
* test/zend/bad/ext/date/tests/gmdate_variation13.php
* test/zend/bad/ext/standard/tests/file/file_get_contents_basic.php
* test/zend/bad/ext/standard/tests/file/file_get_contents_file_put_contents_basic.php
* test/zend/bad/ext/standard/tests/file/file_get_contents_file_put_contents_variation1.php
* test/zend/bad/ext/standard/tests/file/file_get_contents_file_put_contents_variation2.php

The following tests failed in repo mode, so I made them `.norepo`:

* test/zend/good/Zend/tests/bug47593.php
* test/zend/good/Zend/tests/bug60771.php
* test/zend/good/Zend/tests/error_reporting03.php
* test/zend/good/Zend/tests/error_reporting08.php
* test/zend/good/Zend/tests/halt_compiler2.php
* test/zend/good/ext/exif/tests/bug62523_1.php
* test/zend/good/ext/exif/tests/bug62523_2.php
* test/zend/good/ext/exif/tests/bug62523_3.php
* test/zend/good/ext/exif/tests/exif_encoding_crash.php
* test/zend/good/ext/sqlite3/tests/sqlite3_23_escape_string.php
* test/zend/good/ext/standard/tests/array/sizeof_variation4.php
* test/zend/good/ext/standard/tests/file/bug30362.php
* test/zend/good/ext/standard/tests/file/readfile_variation6.php
* test/zend/good/ext/standard/tests/streams/stream_resolve_include_path.php
* test/zend/good/ext/standard/tests/strings/wordwrap.php
* test/zend/good/ext/standard/tests/url/parse_url_basic_001.php
* test/zend/good/ext/zlib/tests/gzcompress_variation1.php
* test/zend/good/ext/zlib/tests/gzdeflate_basic1.php
* test/zend/good/ext/zlib/tests/gzdeflate_variation1.php
* test/zend/good/ext/zlib/tests/gzencode_variation1-win32.php
* test/zend/good/ext/zlib/tests/gzencode_variation1.php
* test/zend/good/ext/zlib/tests/gzuncompress_basic1.php
* test/zend/good/tests/classes/unset_properties.php
* test/zend/good/tests/lang/include_variation3.php

Reviewed By: @JoelMarcey

Differential Revision: D1081723
Add ICU Locale class

More intl implementations

Reviewed By: @ptarjan

Differential Revision: D1081026
Differential Revision: D1083822
Allow loading of named mini-systemlibs

The Intl extension is massive and is best
organized into multiple sub-extensions (icu_ucnv, icu_locale,
icu_num_fmt, icu_date_fmt, etc...).

Extending the loadSystemlib() helper to load from multiple
systemlibs allows us to follow this pattern in the intl module:

  void moduleInit() override {
    BindIntlFuncs();
    loadSystemlib(); // loads intl's main mini-systemlib
    BindLocaleFuncs();
    loadSystemlib('icu_locale');
    BindUCnvFuncs();
    loadSystemlib('icu_ucnv');
    // etc...
  }

Reviewed By: @ptarjan

Differential Revision: D1081324
Update Pear hash

The Pear folks have accepted my pull request. Use the pear git source again. We are actually losing 2.5% on Pear for some reason, but this is happening with the current hash (as shown in our graph) or with this new hash. So that is a wash. Use the newer hash.

Reviewed By: @alexmalyshev

Differential Revision: D1082918
Add support for IsScalar

Add support for IsScalar in IsType instruction.

Reviewed By: @ottoni

Differential Revision: D1045411
Fix get runtime executable for oss

The check for the hhvm runtime build in oss land was wrong. This attempts to fix that. Also, we have no "php" symlink to hhvm in oss world, so I removed that check.

Reviewed By: @sgolemon

Differential Revision: D1083192
Get tests passing again with the region JIT

Some of the work during lockdown exposed a few issues with the region
JIT enabled.  Most of the issues were because jump optimizations was
mutating an instruction into another one with a different number of
dests, including SideExitJCCs and SideExitGuardLoc.  These were fixed
by making these instructions have the similar dests as their
corresponding instructions.  For the JCCs, ideally we should get rid
of their None dests. I tried that, but unfortunately it's not that
simple and will require changes to the simplifier at least.  To
unblock work on the region JIT, I'm taking the simplest approach here
by making SideExitJCCs have a dest too, and I'll task cleaning up the
dests of all these instructions.

Reviewed By: @swtaarrs

Differential Revision: D1082383
handle running the script from any dir

I shouldn't require you cd to `hphp`

Reviewed By: @jdelong

Differential Revision: D1083592
Runtime option to limit the amount of code we translate

This allows us to stop translating gracefully once we've emitted a
certain amount of code to a. I also fixed the names of the RuntimeOption
members to match the config options they map to.

Reviewed By: @ottoni

Differential Revision: D1081564
Rename ObjectData::HasClone to HasCppClone

This means the ObjectData has a C++-level clone
implementation.  Also clean up some duplicate specifications of the
template parameters for ExtObjectDataFlags.

Reviewed By: @edwinsmith

Differential Revision: D1070691
Improve FPushCuf -> FPushObjMethod transformation

The previous version of this optimization was a bit too picky
about where it found the object input to the FPushCuf.  This fixes it
up so it catches most of the hot cases in www.

Reviewed By: @swtaarrs

Differential Revision: D1054142
remove __tmp_oo_rename3

this test didn't clean up after itself

Reviewed By: enis

Differential Revision: D1084661
Some changes to Zend test importer

- Make it not fatal if the zend path don't contain a / in the end
- Better error message when using --only and it doesn't match any files

Reviewed By: @ptarjan

Differential Revision: D1083278
Refactor intl subcomponents into the intl extension

Mostly organizational frufaru
This moves us away from having multiple icu_* extensions
and closer to having a single 'intl' extension
similar to Zend.  icu_ucnv and icu_uspoof will be
folded in when they are converted to HNI.

Future intl classes (DateFormatter) will be added here.

Reviewed By: @ptarjan

Differential Revision: D1083189
Create php symlink for OSS

We don't have a php symlink to the hhvm executable in oss land. Create one so Pear can work correctly. Otherwise we will literally have 0% for Pear.

Reviewed By: @ptarjan

Differential Revision: D1084685
Remove --no-edit from pull requests

--no-edit for pull requests was causing issues on Ubuntu 12.04 running the script.

Error was: error: unknown option `no-edit'

Took it out. Things ran fine. Pull requests still worked for doctrine and pear.

Reviewed By: @alexmalyshev

Differential Revision: D1084828
preg_replace error return values

Fixed preg_replace error return values

Reviewed By: @ptarjan

Differential Revision: D1077072
Replace unused ObjectData::HasCallStatic with ObjectData::HasClone, use it

A measurable percentage of L1 dcache misses in production are
coming from lookups of the __clone function in ObjectData::cloneImpl.
If a decent number of them don't have custom __clone functions, we can
just check an o_attributes bit (which we just checked in ::clone, so
it should still be in dcache).  (This diff doesn't avoid the redundant
load of o_attributes, though.)

Reviewed By: @ptarjan

Differential Revision: D1070758
Implement reusable service requests for ARM

While doing this, I made CodeCursor not depend on X64Assembler and moved
it into a different file.

Reviewed By: @jdelong

Differential Revision: D1083358