Warn when using miarray with array_multisort

Summary: array_multisort reorders integer keys, so we should raise a warning when used
with an miarray.

Reviewed By: @paroski

Differential Revision: D1489327
Clean up checked map array warnings and tests

Summary: This diff does the following:

-- Clean up warning messages to remove "converting to array" when it doesn't
-- Merge kExists* and kNvGet* warning message and change wording
-- Add take_by_ref.php test for msarray to match miarray

Reviewed By: @paroski

Differential Revision: D1488770
Remove dead code: defClsHelper

Summary: I looked quite a ways back and didn't find the last use being
removed; meh.

Reviewed By: @mxw

Differential Revision: D1488744
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