Add option to extend the time we'll wait before dropping into the dummy sandbox on debugger signals

When the proxy's signal polling thread gets a signal from the debugger client, it would normally wait one second for another thread to recognize and consume the signal. This is pretty reasonable, but with a debug build on a heavily loaded system it's very rarely possible for one second to not be long enough. Added a runtime option to extend this, and set it to 3s for the existing debugger server tests.
Ensure flow control commands don't remove internal breakpoints set by real breakpoints

A real breakpoint makes entries in the breakpoint filter for all offsets at the given line. Various flow control commands will also use the breakpoint filter to add and remove temporary "internal breakpoints" required during the flow operation. Ensure that we never remove a breakpoint filter entry if there was already one there due to a breakpoint (or really  any other reason).
Fix convenience test name matching

It used to lookup the longest initial sequence that contained
no slashes, so that eg:

  cd hphp/test
  ./run quick/SetM.php

Would run all the quick tests
actually call o_toBoolean when casting to a bool - take 2

Redoing the diff. The original was breaking perflab, I want to see why (it worked for me, but without the `movb` change, maybe that was it).
tv{Cell,Var}As*(TypedValue*) -> {cell,var}As*({Cell,Var}&)

Make tv{Cell,Var}As* take {Cell,Var} instead of TypedValue. Take them by
reference instead of by pointer.
Eliminate unconditional jump from main trace to exit trace before DCE

I ran into this problem with the region JIT.  Without this fix, an
IncRef may appear to be dead in the main trace during ref-counting
optimization (performed along with DCE).
make socket test less flakey (hopefully)

I keep seeing problems with this test. Lets see if opening less sockets helps? The last few have failed on `socket_get_option($s, SOL_SOCKET, SO_TYPE)` which this does't fix though...
Use PHP test framework for testing hphpd in sandbox server mode

Debugger tests that run hphp in non local mode (i.e. with the "-h some-server:some-port" option specified) currently use a clunky specialized C++ test harness that invokes PHP scripts that talk to the debugger client via the obsolete client API. This revision moves those tests to the new PHP only framework. The debugger client is now controlled by piping in commands, just like the other debugger tests. The main difference is that the debugger client is connected to a server instance and a separate PHP driver is used to load the server, load the client, and then load pages from the server so that the client can hit breakpoints. It also checks that the client can respond to ctrl-c by actually sending a SIGINT signal to the client process.
OpDiv in codegen

added OpDiv to codegen if at least one operand is a double
Implement json_last_error for PHPUnit

PHPUnit calls json_last_error. We need to implement it. Also implemented a simple json_last_error_msg to bring it up to 5.5 parity in that regard. This current implementation does not bring all the json zend tests to passing. But 2 out of the 22 bad tests now pass. And, this allows the PHPUnit self test to run as well.
Implement PHP_BINARY PHP core predefined constant

Implement PHP_BINARY PHP core predefined constant. PHPUnit uses this constant in its self-test suite, causing many of them to fail on HHVM (possibly only because of the lack of this constant). Try to ninitially implement in such a way that it can be nimble enough for open-source, cross platform.
Use Cell instead of TypedValue whenever possible

Most of the values stored in TypedValue in ext_asio are always Cells.
Let's use Cell type alias to improve code readability, pass them by
reference where null is not allowed and use Cell-specific functions
from tv_helpers.h.
Delete GlobalCache

Pulling the trigger; it's unused post-tx64. This diff preserves the
ability to mark units as merge-only when the pseudomain only contains
assignments to known globals. When the unit is being merged, the set
operation goes directly to the global varenv instead of through the
targetcache (GlobalCache stored pointers into the global varenv's
NameValueTable).

Supersedes D891179 -- I was overly aggressive in that one.
OSX warnings (last batch to enable 4.7.1 warnings)

- fix last batch of warnings
Enable additional compiler warnings for gcc 4.7.1

Add compiler warnings to our build that are part of OSS to
catch them earlier.
Devirtualize ArrayData part 1

Moves about half of ArrayData virtual methods to g_array_funcs as
static functions instead of virtual functions.  This is mostly a
mechanical factor, except a handful of methods that are specialized
for Vector instead of generic HphpArray.
Fixed broken build from unused local variable.

that's it
Devirtualize ArrayData part 2

Convert remaining virtual methods to static methods dispatched
by kind.  This makes ArrayData a non-virtual class, so shuffle
fields and adjust static_asserts.
Verifier: always verify in debug builds

Let's prevent the verifier from bitrotting.
Allow using ExtraData-supplied immediates in native-calls.cpp

Ports CreateCont* opcodes to use extra data for their
compile-time constants as a test case.