Make ArrayKind a regular enum

We use ArrayKind as a simple unsigned integer, its an index, we do
range-based comparisons, and in the future we'll likely do bit-ops
for fast sub-kind tests.  Just be honest that this is an old-school enum.
Minor cleanup of break/continue emission

Since variable break/continue is gone, we don't need this jonx anymore,
since the target of any break or continue is statically known. The
regular break/continue handling deals with this case appropriately.
Exit early during checkInvariants rather than do the O(N) loop.

This loop is useful for debugging arrays but is too slow for
general use, so we'll just "return true" before it and leave it in
place for offline use.
Remove handling for const Bools that are neither 0 nor 1

It looks like whatever was introducing these has been fixed.
Remove checkExist option to ArrayData::lval()

It appears to be a leftover optimization that only applied to HPHPC,
which is gone now.
Empty loops need to check surprise flags

We didnt count a brach to itself as a backward branch.
Also, there seemed to be a signed vs unsigned issue with IterBreak.
gcc 4.7.1 unused-variable warnings

- fix unused variable warnings from OSS
Fixing bug with IterBreak assembler

Was failing to push iterator ID along with type in assembler.
enable ServiceData on OSX

- re-enable servicedata on OSX now that jemalloc is fixed

Closes #865
warning on bad chdir

matches zend
Fix parse_url()

Bug#54180 - Fragments containing '?'
Do not throw a notice on bad URLs
Add 'port' to return value after 'host', not at end of array
Match PHP's numeric type conversion rules for math functions

Null/Bool/Object get converted to numeric values.
Touches abs(), floor(), ceil(), and round().
Normalize newlines when doing expectf comparison in test/run

Newlines in expectf files don't necessarily match
newlines output by tests.  In the case of the bug55273 test,
the expectf file has unix (\n) newlines, but chunk_split()
produces DOS (\r\n) newlines by default.  This pattern
normalizes all expected newlines to accept unix, DOS, or old-style
Mac (\r) newlines.
No longer needed to specify these defines on OSX.

This was a work-around for hhvm not finding jemalloc symbol.

The cause for this issue was an incorrect homebrew package. jemalloc was
being built with a prefix, and __*_hook's were never exported due to
lack of __GLIBC__ define.

A patched version has been provided on the following link:
https://gist.github.com/danslo/6034879/raw/00be8488d2dea232b750ab8207a788032d9135b6/jemallocfb.rb

It was needed to add the ability to specify jemalloc's include
directory, due to the homebrew package being keg_only.
Also allow specifying libintl include dir.
Adds a testcase for another SimpleXML bug.

Even nodes that only contain text are considered an "array-like" node
with the text being on index 0. This should not be the case.

This bug was somewhat solved by a pull-request that was never merged,
but I question the way it was implemented. See the following commit:
https://github.com/facebook/hiphop-php/commit/d35d81360eb0db5abbd5ad601fde94255e30fbd3

Input on how to solve this is very welcome.
text nodes have no children.