Fix jemalloc version check

Summary: The jemalloc version check needs to add the include directory
for jemalloc when compiling or it will incorrectly not find jemalloc in
some cases (ex. OS X.)

Reviewed By: @edwinsmith
Improve OSS Framework Unit Testing Script

Added mechanism to print out csv summary results for use in charting (--machine option). Using this option supresses all output except for the csv at thee end.

Show tests that do not give the expected output compared to a previous run.

Enhance help to describe what the colors mean for . and F during test runs.

Add a count of tests that will be compared.

Reviewed By: @ptarjan

Differential Revision: D1010936
Check for stack overflow when doing include ops

Bsimmers found it.

Reviewed By: @markw65

Differential Revision: D1011987
start supporting php.ini files

So, I want to make `-d` work from the command line. I tried to make a `IniSettings` section of the `hdf` but it turns out you can't have `.`s in any of the names or else it makes it a nested config section and `.get()` won't traverse it. Supporting a `IniFile` was much easier.

I set a default in `/etc/hhvm/php.ini`. Thoughts?

Reviewed By: @markw65

Differential Revision: D1009092
support -d for php wrapper

The most commonly used option

Reviewed By: @JoelMarcey

Differential Revision: D1009266
Disallow 'yield' inside an async function

HHVM has checks to make sure that 'yield' and 'await' are not both used
within in the same function/method body. However, HHVM was lacking a check
to make sure that 'yield' was not used inside a function decorated with the
'async' keyword. This diff adds the appropriate check for this, and it adds
some tests.

This check currently will attribute the parse error to the closing curly
brace of the function body. We can fix this later by adding the necessary
plumbing, but I wanted to get a quick fix out for now.

Reviewed By: @elgenie

Differential Revision: D1012387
Clean up MInstrEffects::init

I was running into issues with complicated union types, so I decided
to clean this up a bit. Because the member helpers always operate on the inner
cell of a boxed type, we can just handle the inner type and outer type
separately, simplifying a few things.

Reviewed By: @markw65

Differential Revision: D1005835
More hhir guard relaxation fixes and tuning

- Relax more guards as a result of assertions from static analysis
- Add support for using DataTypeGeneric with PopC and friends
- Get guard relaxation-specific logic out of reflowTypes
- Refine/relax some type constraints
- Misc small bugfixes found along the way

Reviewed By: @bertmaher

Differential Revision: D988172
Log when a nullable (e.g. ?int) is incorrect.

Reviewed By: @dariorussi

Differential Revision: D928297
IR support for collection initializer

Expose to IR the opcodes for initialization of collection

Reviewed By: @paroski

Differential Revision: D1010966
easy: parse error for "abstract async"

async is meaningless in an abstract context, since it
 modifies the meaning of the method body.

Reviewed By: @jano

Differential Revision: D1011051
disallow more than one of private protected public

... because come on now.

Reviewed By: @paroski

Differential Revision: D1012429
avoid undefined __builtin_clz(0) behavior in nextPower2

HPHP::Util::nextPower2(1) ends up calling __builtin_clz(0),
which has undefined behavior.  In practice it can return any result.
None of the current callers seem to trigger the bug, but in addition to
fixing the bug this diff also reduces the compiled size and increases
the performance of the method.

Also, the attempt to use an arithmetic exception instead of an assert
doesn't seem to be working, so I replaced it with a regular assert.

Reviewed By: @andralex

Differential Revision: D1007106
Fix JIT helpers for isset() on collections

The JIT helpers for isset() were erroneously returning true when a key was
present in a collection but the corresponding value was null. This diff
fixes the helpers appropriately.

Reviewed By: @elgenie

Differential Revision: D1013006
make ()-invoke work on array callables (jit)

JIT counterpart to {D984939}. Relies on a similar
 partially-populated JIT-allocated ActRec passed to a C++ helper
 technique used by methodCacheSlowPath.

Reviewed By: @jdelong

Differential Revision: D999262
Simplify HHVM_LINK_LIBRARIES
Disable libnuma support (for now)

See comment in hphp/util/CMakeLists.txt for explanation of why
Tabs, not spaces
Master is now working towards 2.3.0
Fix broken make install behaviour

CMake uses rpath to make it easier to run built executables from the build
tree without installing prerequisite libraries first. This means that when
installing, CMake will re-link the binary in order to change the rpath so
it works properly in an install. Unfortunately, it's not smart enough to know
to re-embed the systemlib section, so the installed `hhvm` binary does not
have a systemlib section and doesn't work.

This commit adds a cmake function `HHVM_INSTALL` that effectively bypasses the
standard install command to ensure that the binary is not relinked. To help
with rpaths, this also checks for the existance of the `chrpath` tool. If it
exists, it uses it to either remove or replace the rpath entry in the file,
otherwise it just leaves the rpath entry alone.

This allows `make install` to work again.