Fix an issue with CGetM on objects with an integer property keys

The implementation was trying to look up a specialization for
ints, but there isn't one, so it would hit an assertion on opFunc in
debug and call to a null address in release.
Remove hphp/util/parser/test

I added this in hopes it would make it easier to do parser
development faster---in practice I find myself preferring to just wait
on the build times for compiler/parser instead.  Changes to the parser
too often involve the need to fix the crazy callback interface over
there, and it's not worthwhile to maintain it in two places.  Oh well.

Making the parser more modular to develop on is probably worthwhile
but I'm calling this a failed attempt.

In case it scares anyone that I'm deleting tests: this test suite
wasn't really intended to find bugs, but I think it's unlikely it
would (the normal tests have to parse everything anyway).
Fix how "$obj -> class" is lexed

At present, "$obj -> class" (with spaces) causes a parse error under HHVM
but it parses okay on Zend. The problem is that HHVM's lexer treats "class"
as a keyword when there are spaces after the "->". This diff fixes HHVM's
lexer appropriately.

Closes #833

This fixes https://github.com/facebook/hiphop-php/issues/833 .
Use StaticStrings in getDataTypeString()

Doing some profiling of litstr creation, I noticed f_gettype() being
called a lot, but not using static strings.
Add support for capturing stack samples, then counting them later.

StackTraceProfiler.count() captures a stack trace at the point you call
it.  It's also useful to create a stacktrace, then add it to a profiler
later on.  For example, create a stacktrace when you allocate an array,
then count it when the array reaches some state (destruction, growing,
changing shape, etc).
Remove some deprecated collection APIs that are no longer used

There are a number of deprecated collection APIs that are no longer used
(all uses of them were removed over a week ago). Let's get rid of these.
Add priority to hphp's job queue

Add priority to hphp's job queue. Basically internally we keep multiple
queues. Whenever a worker gets notified of a job, it'll look at each queue in
order from highest pri to the lowest pri. This is inefficient if we have a large
number of priorities. But in reality we'll only have a handful of priorities. So
this should be faster than a heap implementation.

Add a runtime option to be able to specify a set of end points to be prioritized
over regular requests.

In practice, we'll only have 2 priorities, high and normal. For high, we only
plan to put status.php there. This is so the web server can respond to health
check even under high load.
don't return bad json

If there was an error during parsing, we shouldn't return anything.
add phpunit test

I was having trouble gettig the binary into phabricator so the test wouldn't pass, so I committed the phar anyways. Now that the phar is in, a test should see it.
implement undocumented feature of RecursiveIteratorIterator

So this works in zend and composer relies on it, so I guess we should make it too...
don't run phpunit test in repo mode

phars don't work in repos
parallelize test runner on non-Linux platforms

parallelize test runner on non-Linux platforms

Closes #903

Differential Revision: D904203
Normalize spelling of "prologue"

We had both "prologue" and "prolog" all over the place, and it was
starting to drive me nuts. I picked "prologue" because it seems to be
the more standard spelling. Both are valid in American English, but in
the rest of the English-speaking world, only "prologue" is standard.

Differential Revision: D904232
Log status of all curl requests during test

Use exec("curl ...") instead of the curl API to make server requests, so that every interaction with the server can be traced and logged.

Differential Revision: D902614
Remove a bunch of separable extensions cruft

This code hasn't been relevant in a long time.

Differential Revision: D904562
Implement PHP_BINDIR (core constant)

Implement PHP_BINDIR PHP core predefined constant. PHPUnit (via PEAR) 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.

Differential Revision: D900077
remove dead option from docs

remove MaxStackDepth from docs, not used/implemented
remove unimplemented memcache-related statistics/settings

Closes #911

Differential Revision: D904848
Support list unpacking in foreach keys and values

Zend 5.5 allows you to unpack arrays into the key and
value expressions in a foreach loop. This implements the same
functionality in HHVM.

Differential Revision: D900264
remove typehints for FilesystemIterator

This class will happily take another `FilesystemIterator` as a param. Let the parent deal with throwing on bad params.

Differential Revision: D898524
Remove remnants of parse-tester

Differential Revision: D904174