Deprecate unset cast.

Reviewed By: @elgenie

Differential Revision: D1521372
Fix persistence bug in Class::initSPropHandle

Summary: If a parent's sPropInit handle isn't persistent, we shouldn't mark the
child's handle as persistent.

Reviewed By: @alexmalyshev, @markw65

Differential Revision: D1518812
Don't use fast object allocation path for Enums

Reviewed By: @bertmaher

Differential Revision: D1518831
Support fast object allocation path when Eval.EnableObjDestruct call is on

Summary: Pretty straightforward: we just need an extra call to insert the
object into the set of live objects.

Reviewed By: @bertmaher

Differential Revision: D1518842
Turn on Eval.EnableObjDestructCall by default

Summary: This was an intentional divergence from PHP5 for performance reasons,
but the default should be compatible. The overhead of this feature is vastly
reduced with D1462739 anyway.

Reviewed By: @ptarjan

Differential Revision: D1517757
Remove decls for rCGxxx, give them to vasm and use vasm temps instead.

Summary: Baby step towards vasm register allocation for the full unit.

Reviewed By: @alexmalyshev

Differential Revision: D1519393
Clarify error message when Hack syntax is used in a PHP file

Summary: EnableHipHopSyntax is no longer what people should probably be
enabling -- they probably want to just be using a Hack file instead.

The failure mode here can be really confusing, e.g.,
http://stackoverflow.com/questions/25496687/setting-enablehiphopsyntax-to-true-with-hhvm

Reviewed By: @elgenie

Differential Revision: D1519619
Manpage for hh_server

Summary: Debian wants these.

Reviewed By: @elgenie

Differential Revision: D1512680
Convert a few more uses of smart::container

Summary: Missed these when rebasing

Reviewed By: @ottoni

Differential Revision: D1522160
Command line arg -n causes seg fault

Summary: fixes #3539

Reviewed By: @fredemmott

Differential Revision: D1520328
(HHVM) Don't malloc/free for pack

Summary: `pack` is used by Thrift, and we were also thinking of using it for the
TAO client as a cheap way to turn integers into strings. I noticed that
it uses `std::vector` even if the format is only a handful characters
long. 32, because why not. Who uses format strings longer than 32?

Reviewed By: @jano, @markw65

Differential Revision: D1520273
Add a mechanism for building and testing a zend extension as a DSO.

Summary: There is a DSO, and a (currently failing) unit test.

This DSO is intended to be loaded by specifying in a .ini file something like:
  hhvm.dynamic_extensions[dso_test] = ./runtime/ext_zend_compat/dso_test/dso_test.so
and then tested by executing the php functions implemented by the dso_test zend extension.

The tests currently fail, and as such are parked in:
  hphp/test/zend/bad/ext/ext_dso_test

The tests fail due to one or more known logic bugs involving the handling of configuration
settings in zend DSOs in the file:
  hphp/runtime/ext_zend_compat/php-src/Zend/zend_ini.cpp
A fix for those bugs, as well as migrating the tests to hphp/test/slow/ext_dso_test,
will follow as soon as these changes are accepted.

This is the 2nd attempt at this work.  The 1st attempt:
  https://github.com/facebook/hhvm/pull/3399
  https://reviews.facebook.net/D21369
was aborted due to a poor choice of directory names/locations,
as well as a botched git rebase.  Paul Tarjan commented on the 1st attempt.

Closes https://github.com/facebook/hhvm/pull/3441

Reviewed By: @ptarjan

Differential Revision: D1492264

Pulled By: @sgolemon