VASM: remove useless instructions

Summary: This diff implements dead code elimination over VASM. Instructions
that modify cpu flags, physical registers, memory, or control flow,
are considered "useful"; this is conservative but correct when we aren't doing
dataflow analysis on machine state (registers, flags, memory).

A current limitation is that we don't track liveness of status flags, so we
cannot remove otherwise-dead ALU instructions (in case the flags are used).

Runs DCE before register allocation.

Reviewed By: @jasone

Differential Revision: D1460512
make server.inc more robust

Summary: @jlreyes made this more robust, but I forgot to make him also change the import script to keep it. So when I did a re-import, it blew it up.

Reviewed By: @JoelMarcey

Differential Revision: D1549523
Revert "Updated mockery to 0.9.2"

Reviewed By: @ptarjan
Update third-party to pull in folly 5:0
Get hhvm compiling with clang-3.5

Summary: This really wasn't that bad. A few mistaken uses of abs(), a few
functions unused except in debug mode, and some apparently-redundant
bool conversions.

Reviewed By: @meyering

Differential Revision: D1546566
Update third-party for modified folly build
Disable wordpress crons

Summary: See inline comments.

Reviewed By: @ptarjan

Differential Revision: D1550868
Various test fixes in zend/dom

Summary: Import various files used by dom tests
Add hhvm.libxml.ext_entity_whitelist to ini

These are all used in tests. None of them turn good after this unfortunately.
Closes https://github.com/facebook/hhvm/pull/3732

Reviewed By: @sgolemon

Differential Revision: D1550349
Adds arch dependent include dir to LIBMAGICK(CORE|WAND)_INCLUDE_DIRS

Summary: The last version uploaded in debian has some arch dependent include dirs.
Without them, the compilation fails with a message like:

 fatal error: magick/magick-baseconfig.h: No such file or directory

See:
 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=747907
 http://www.cmake.org/Bug/view.php?id=15007
Closes https://github.com/facebook/hhvm/pull/3735

Reviewed By: @sgolemon

Differential Revision: D1551212
Update .hhi files for ConstSet, Set, and ImmSet

Summary: This diff updates the .hhi files to reflect the changes from D1435557.
There was also a bug introduced by D1435557 which removed "Container" from
the list of interfaces implemented by ConstSet; this diff fixes this bug
by adding "Container" back to ConstSet's list.

Reviewed By: @elgenie

Differential Revision: D1551381
typechecker: match return types, even with php parent

Summary: Facebook: enabled by www conversion efforts over the past few months

Reviewed By: @jwatzman

Differential Revision: D1542002
don't emit warnings when we can't bind

Summary: I fixed it so they can actally bind, but it shouldn't emit when it does succeed

Reviewed By: @JoelMarcey

Differential Revision: D1551415
Only call ThreadInfo->init once per thread

Summary: `init_thread_locals()` is actually called on every request. Becase ThreadInfo::s_threadInfo should persist across requests, we don't need to call init() every time.

Reviewed By: @edwinsmith

Differential Revision: D1550754
Diff formatter

Summary: Adds the option --diff to the formatter.
Typical usage: hg diff | hh_format --diff

hh_format --diff takes a diff on stdin and reformats the parts of the files
that have changed (in place).

There are cases where the formatter can affect more lines than the ones
that appeared in the diff.
Let's consider this diff:

   $x = array(
  -  1,
  +  23,
     3
   );

The formatter will consider the entire statement as an indivisible block.
In other words, it's going to reformat the entire statement; despite the
fact that only one line within that statement was modified in the diff.

Reviewed By: @elgenie

Differential Revision: D1450288
Fix MacOSX build in ext_apc

Summary: Config::Bind() doesn't have size_t/time_t specizations.
The MacOSX compiler is more sensitive to this and won't use the
int64_t/uint64_t versions.  Just use int64_t for both.

Reviewed By: @ptarjan

Differential Revision: D1551324