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
Minor refactoring/cleanup in gdb tools

Summary: Nothing to see here.

Reviewed By: @edwinsmith

Differential Revision: D1491456
Add some lookup commands for GDB

Summary: Create two new GDB prefix commands:
  - lookup func <FuncId>
  - lookup litstr <Id> [Unit*]

They lookup the expected object and calls the print command on them (so
that $ and $$ and ${#} work as expected).

Also add a `unit' command which sets the "current Unit", used by various
commands (like `lookup litstr' and `hhx').

Finally, improve printing in `hhx':
  - literal strings for SA immediates instead of IDs
  - print short ints as ints only, instead of both ints and chars
  - remove the <> around immediates
  - make output format more like `x'

Reviewed By: @edwinsmith

Differential Revision: D1491458
Port walkstk into GDB Python bindings

Summary: This is a hybrid of @markw65's `walkstk` and `walkstk2` commands.  It
walks the $rbp chain, printing out a backtrace including both native and
VM frames and functions.  The output format is briefer, and does not
contain the instruction found at $rip.

Reviewed By: @markw65

Differential Revision: D1491681