Delete all the non-variant Variant::same overloads

Step one.
delete Variant::same, implement same(CVarRef, CVarRef) in terms of tvSame

Step two.  Leaving the Variant::same methods as deleted for
now because I'm worried about the implicit conversion operators to
other types that support same.
Prune some unused/barely used functions from type_conversion.h @override-unit-failures
Delete same() overloads that don't involve VM types

Don't really need these anymore now that we're not generating
C++.
Remove mostly unused instanceOf() function

We don't need to overload this on types anymore.
Fix a zend compat issue in array_slice

- Fix the behavior of array_slice when using PHP_INT_MAX
Delete all non-CVarRef overloads of empty/isset @override-unit-failures

We only really use those now.
Keys can't be doubles: remove a bunch of Array/Variant methods.

Array and Variant don't need to accept double for array keys,
since they can only be int or string anyways.  The only place
we called those methods was in test_cpp_base.cpp anyway.
Remove the rest of the dead instrumentation code

This is the follow on to https://phabricator.fb.com/D805320. Removing the rest of the instrumentation code.
Add tracing to cmd_run and the debugger API

Add some tracing to help with debugging the debugger API.
Source information for systemlib.php for use in debugging.

The debugger can only hit breakpoints and list source lines for code lines that have an entry in the byte code repository. In order to make systemlib.php debuggable, it needs an entry. A customized routine has been created for doing this since there is no actual source file available. Also, special case logic is needed to list the source file during debugging.
Fix order dependencies in BuiltinSymbols::Load

We need to import the c++ classes and constants before parsing
systemlib.php so that static analysis is aware of them.
Rename closures and generators - take 3

This reverts commit 2e9677b7c3f37e9627b9cbc9a6ddec82a10e7215.

Third time is the charm. I hid it from reflection, but I missed `get_class_methods`.

The diff betweenn this and what was reverted is https://phabricator.fb.com/P2217891 and then I did https://phabricator.fb.com/P2217904 because it looked like it should be done.
fix StaticString copy constructor
Remove unused UnitEmitter::m_feMap

The value of m_feMap is never used. Keys are used to assert when there
is an attempt to define a function with already existing name. It does
this job poorly because it is not an authoritative source of existing
function names. When the top-level function is defined, setCached() is
called, which already checks for duplicates, so let's rely on it.
fix pathinfo

This is needed for CodeIgniter. They do `pathinfo()` and triple equal compare to "".
only accept ports in range

http://example.com:-1 isn't a valid url
move repo contention test

I'd like to run the slow tests in our open source testing framework. This is the only test that fails hard. It actually fatals the test framework even with the 10 Meg limit we are using now.

What do you think about breaking it out to not run in open source?
Split ArrayData::append(ArrayOp) into plus() and merge()

We had two distinct functions dispatched by an enum that was
always known somewhere higher up on the callstack.
Basic region translator

This diff adds a very, very basic region translator. Together with
-vEval.JitRegionSelector=method, it is capable of translating very simple
methods without using a Tracelet. It takes in a RegionDesc struct and creates
NormalizedInstructions on the stack to drive the translate* methods in
irtranslator.cpp. I started trying to get all tests passing with
JitRegionSelector=method (by replacing lots of asserts with punts) but decided
it's not worth it right now.

I'm planning on writing a Tracelet -> RegionDesc converter next and expanding
translateRegion to handle everything that throws at it.