Warn when using checked map arrays with array_splice

Reviewed By: @paroski

Differential Revision: D1489522
Updated twig to 1.16.0 in the framework tests

Summary: The **current** twig tests differ from the expected output when run. This seams to be due to the numerical locale test. Maybe we should exclude that test? I have in my pull, and I've also updated us to 1.16.0.

The diff showing the flakey test **without** any of my modifications to the expected output or framework.yml:
```
----------------------
Twig_Tests_CompilerTest::testReprNumericValueWithLocale

RUN TEST FILE:  cd /root/hhvm/hphp/test/frameworks/framework_downloads/twig && /root/hhvm/hphp/test/frameworks/../../hhvm/hhvm -v Repo.Local.Mode=-- -v Repo.Central.Path=/tmp/framework-test8uvGFo --config /root/hhvm/hphp/test/frameworks/php.ini -c /root/hhvm/hphp/test/frameworks/.generated.php.ini /root/hhvm/hphp/test/frameworks/vendor/bin/phpunit --debug  -c /root/hhvm/hphp/test/frameworks/framework_downloads/twig/phpunit.xml.dist --filter 'Twig_Tests_CompilerTest::testReprNumericValueWithLocale'

EXPECTED: .
>>>>>>>
ACTUAL: S
```
Closes https://github.com/facebook/hhvm/pull/3370

Reviewed By: @fredemmott

Differential Revision: D1487074

Pulled By: svcscm
Flakeylist bad codeigniter test

Summary: assert(time() === time()) is racey.

Reviewed By: @JoelMarcey

Differential Revision: D1489350
Updated Doctrine In The Framework Tests

Summary: Replaces #3375. I still get `100%` passing tests as shown by the diff.
Closes https://github.com/facebook/hhvm/pull/3385

Reviewed By: @ptarjan

Differential Revision: D1488838

Pulled By: @fredemmott
Added Guzzle Streams To The Framework Tests

Summary: Replaces #3383. The streams repo is an integral part of guzzle 4 so we should test it.

Note that there is currently one failing test:
```
1) GuzzleHttp\Tests\Stream\AppendStreamTest::testCanReadFromMultipleStreams

RUN TEST FILE:  cd /root/hhvm/hphp/test/frameworks/framework_downloads/guzzle-streams && /root/hhvm/hphp/test/frameworks/../../hhvm/hhvm -v Repo.Local.Mode=-- -v Repo.Central.Path=/tmp/framework-teste78LeR --config /root/hhvm/hphp/test/frameworks/php.ini -c /root/hhvm/hphp/test/frameworks/.generated.php.ini /root/hhvm/hphp/test/frameworks/vendor/bin/phpunit --debug  -c /root/hhvm/hphp/test/frameworks/framework_downloads/guzzle-streams/phpunit.xml.dist --filter 'GuzzleHttp\\Tests\\Stream\\AppendStreamTest::testCanReadFromMultipleStreams'

Failed asserting that false is true.

/root/hhvm/hphp/test/frameworks/framework_downloads/guzzle-streams/tests/AppendStreamTest.php:116
/root/hhvm/hphp/test/frameworks/vendor/phpunit/phpunit/src/TextUI/Command.php:179
/root/hhvm/hphp/test/frameworks/ve
Closes https://github.com/facebook/hhvm/pull/3386

Reviewed By: @ptarjan

Differential Revision: D1487067

Pulled By: @fredemmott
Warn when using shuffle(...) on checked map arrays

Summary: The ##shuffle(...)## builtin destroys keys so it should raise a warning when
operating on a checked map array.

Reviewed By: @paroski

Differential Revision: D1489727
Introduce async function lambdas

Summary: Introduce lightweight way to define async function closures. Adds ability to prepend lambda functions with async keyword.

It also works with async generators!

Reviewed By: @billf

Differential Revision: D1402430
Added ext/reflection tests

Summary: This diff un-blacklists ext/reflection tests and imports them

Reviewed By: @fredemmott

Differential Revision: D1489330
Added ext/gmp tests

Summary: This diff un-blacklists ext/gmp tests and imports them

Reviewed By: @fredemmott

Differential Revision: D1489612
Imported ext/tokenizer tests

Summary: This diff un-blacklists ext/tokenizer tests

Reviewed By: @fredemmott

Differential Revision: D1489306
Added ext/dom php tests

Summary: This diff un-blacklists ext/dom tests and imports them

Reviewed By: @fredemmott

Differential Revision: D1489744
Disallow multiple 'default:' blocks in a single switch

Summary: Both we and PHP5 allow multiple default
statements and it's hard to argue that we're not
both kind of wrong in this behavior and should move to
only allowing one default statement per switch,
raising an error if multiple are found.

Ref: https://wiki.php.net/rfc/switch.default.multiple

Reviewed By: @JoelMarcey

Differential Revision: D1482354
Link against LLVM library if present.

Summary: Add LLVM library to CMake build system. The library is added as optional, i.e. if the library is not present the build will go on. If it is present "-DUSE_LLVM" will be passed to the compiler. Only accept LLVM versions 3.4 and above.

Reviewed By: @jasone

Differential Revision: D1471580
socket extension: use explicitly sized arrays

Reviewed By: @elgenie

Differential Revision: D1463435
Add more tests for checked map arrays

Summary: Added tests for
* apc_add
* array_chunk
* array_combine
* array_diff
* apc_fetch/apc_store msarray member
* array_diff_key for msarray
* array_fill_keys
* array_filter
* array_push
* array_walk
* array_walk_recursive
* array iterator functions (each, next, prev, reset, end, key, current)
* natsort

Reviewed By: @paroski

Differential Revision: D1490424
Untangle logging dependencies

Summary: The idea here is to narrow down the amount of information EventLogger receives from its caller so that it doesn't create circular dependencies when trying to log events from most of the code in /src/client/ or /src/server/.

this is a disjoint set of (I presume flaky) tests that failed compared to the last rebase

Reviewed By: @jwatzman

Differential Revision: D1480933
Remove hphp_miarray and hphp_msarray

Reviewed By: @paroski

Differential Revision: D1491174
Updated the composer framework tests

Summary: Closes https://github.com/facebook/hhvm/pull/3371

Reviewed By: @ptarjan

Differential Revision: D1487076
Added predis to the framework test suite

Summary: This pull adds predis 1.0.0 to the framework test suite. We're excluding all the tests that are dependent on redis actually running on the server.
Closes https://github.com/facebook/hhvm/pull/3384

Reviewed By: @fredemmott

Differential Revision: D1488845

Pulled By: svcscm
Added phpunit-mock-objects to the framework tests

Summary: Since we're testing phpunit and mockery, it only makes sense to test this library too.
Closes https://github.com/facebook/hhvm/pull/3402

Reviewed By: @ptarjan

Differential Revision: D1487058