Combine BaseExecutionContext and VMExecutionContext

Also remove the vtable and inheritance from IDebuggable.  (I
always wondered why it did that---turns out there's no reason
anymore.)

Reviewed By: @ptarjan

Differential Revision: D1198258
Move RequestEventHandler to its own header

Making the destructor protected and non-virtual required
changing a bunch of classes to be final to avoid warnings.  Where
possible I also added overrides, normalized indentation, and did
s/class/struct/.

Reviewed By: @ptarjan

Differential Revision: D1198270
collections: don't try to autoload when deserializing

... anything stored with the K (keyed collection) or V
 (unkeyed collection) formats should only have cpp builtin classes to
 deal with. Also, changed the serialization "whitelisting" option to
 apply only to O (object) format, since "whitelisting" collections
 classes for deserialization is equivalent to "whitelisting" arrays.

Reviewed By: @jdelong

Differential Revision: D1191114
Remove unnecessary includes in util/file-util.h

Also make relativePath() take const string& instead of const string.

Reviewed By: @jdelong

Differential Revision: D1198453
Switch PHPUnit to 4.0.x branch.

closes #1966

Reviewed By: @JoelMarcey

Differential Revision: D1198956

Pulled By: @fredemmott
Implement IntlBreakIterator (and friends)

* IntlBreakIterator
  * IntlCodePointIterator
  * IntlRuleBasedIterator

This diff explicitly leaves IntlPartsIterator as a TODO
since it's going to take some revamping of how IntlIterator
is implemented.

Reviewed By: @ptarjan

Differential Revision: D1194587
Differential Revision: D1201081
Convert UConverter to HNI

Typical conversion

Reviewed By: @ptarjan

Differential Revision: D1194594
Convert EncodingDetector/EncodingMatch to HNI

Typical conversion

Reviewed By: @ptarjan

Differential Revision: D1197136
Convert ICU Spoof Checker to HNI

Standard conversion

Reviewed By: @ptarjan

Differential Revision: D1197558
Convert ServerPtr from shared_ptr to unique_ptr

There wasn't really a shared ownership model for servers, they were pretty clearly owned by HttpServer, but it was complicating shutdown because the admin and page server would outlive the HttpServer thanks to the AllServers array in server.cpp.  Also delete the HttpServer singleton to force all servers to be destructed before process exit.

Reviewed By: @markw65

Differential Revision: D1198360
Disable flaky test/slow/ext_datetime/test_time.php

Reviewed By: @bertmaher
Fix a couple crashes

- We weren't checking that method was a Str before calling getValStr.
- After a cg punt, we were looking for an instruction with a matching bcOff
  instead of SrcKey.

Reviewed By: @jdelong

Differential Revision: D1198720
Tests to ensure that the enter/exit hooks for profiling are solid

Add a few more tests of the enter/exit hooks which are used by fb_setprofile() and the profilers in ext_hotprofiler. This closes a few testing holes which have been problematic in the past.

Reviewed By: @swtaarrs

Differential Revision: D1197142
change from pointers to references

the storage location can be `nullptr` but the variable to `ini_on_update` can't be so lets force it more explicitly with a referernce.

Reviewed By: @fredemmott

Differential Revision: D1198824
move PCRE things out of ExecutionContext

I put them there back before we had an ini setting story. They really should only be thread local

Reviewed By: @fredemmott

Differential Revision: D1198433
Instruction, load and store counters for vixl

We'd like to be able to track the progress of ARM codegen, so here are
some counters to expose in Trace::stats.

We're also going to need something to track interped vs. translated
bytecodes, but I think that's going to require more finesse, so I'll do
it separately.

Just do ##TRACE=stats:1 hhvm --arm whatever.php## and at the end of
execution it will dump all the stats counters.

Reviewed By: @edwinsmith

Differential Revision: D1194779
Delete ClassInfoHook

This was a historical artifact, I think going all the way back to hphpi
days. The virtual base class isn't needed post-hphpc and there's no need
to avoid a dependency on eval/ post-hphpi. I just inlined the
implementations of VMClassInfoHook wherever methods were called on the
hook.

Reviewed By: @markw65

Differential Revision: D1198989
Revert "Implement XSL extension"

Breaks Ubuntu build. Taking too long to debug, back out until root cause
found.

Fixes #1942

Reviewed By: @ptarjan

Differential Revision: D1199180
Convert ICU IDN and global error functions to HNI

ext_icu_misc will be a catch basin for the
smaller pieces of intl which don't deserve their own systemlib

Reviewed By: @ptarjan

Differential Revision: D1198539
Update Code Model template for trait alias and strengthen test case

Updated the template for TraitAlias and regenerated the system lib classes for Code Model. Also changed the test case to convert the code model back to a string and compare it against expected output other than OK.

Reviewed By: @scannell

Differential Revision: D1194744