Only assertOperandTypes() in debug builds.

Summary: Refactor assertOperandTypes() to return bool, rename
it to checkOperandTypes(), and let callsites decide
whether to assert() or always_assert(). all callsites
assert in this diff.

Reviewed By: @bertmaher

Differential Revision: D1567530
Recognize infinite loops as terminal.

Reviewed By: @elgenie

Differential Revision: D1568254
Fix terminality handling of do loops with 'continue'

Reviewed By: @elgenie

Differential Revision: D1568260
Assume valid srcs in cgLdPackedArrayElem() and cgCheckPackedArrayElemNull()

Summary: These were complex enough to split out into their own diff.

Reviewed By: @alexmalyshev

Differential Revision: D1566071
Allow profiling/jitting of warmup requests

Summary: With JitProfileWarmupRequests=true, and NumSingleJitRequests=0 we
should be back to the old way of doing things.

Reviewed By: @edwinsmith

Differential Revision: D1568113
Allow threads to run pre-jitted code during single-thread-jit requests

Summary: Its likely to lead to faster warmup when NumJitSingleRequests > 0.

Reviewed By: @edwinsmith

Differential Revision: D1567702
mark test/zend/good/ext/posix/tests/posix_errno_variation2.php flakey

Summary: Another process can obviously be spawned in the meantime.

Reviewed By: @markw65

Differential Revision: D1568105
Use type_traits instead of boost equivalents

Summary: Gets rid of things from boost/mpl and boost/type_traits.

Reviewed By: @oyamauchi

Differential Revision: D1564300
Fix reference and empty arguments in ReflectionFunction::__toString

Summary: When a function has no arguments, ReflectionFunction::__toString is supposed to omit the parameters section
ReflectionParameter::__toString is supposed to add the ampersand if a parameter is passed by reference

Part of #3787

Also move slow/ext_reflection/* to slow/reflection_classes
Closes https://github.com/facebook/hhvm/pull/3788

Reviewed By: @ptarjan

Differential Revision: D1566169