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
Convert cgUnboxPtr to SSA

Summary: Introduce cond() for generating if/then/else blocks that produce
one value with a phidef{} instruction. Use it to make UnboxPtr
emit SSA-style code.

Reviewed By: @alexmalyshev

Differential Revision: D1568368
Convert cgCountArray to SSA

Summary: Introduce unlikelyCond() for generating if/then/else blocks
where the "true" case is unlikely. Use it for cgCountArray().

Reviewed By: @alexmalyshev

Differential Revision: D1568375
Convert cgInstanceOf() and cgLdClsCtx() to SSA

Reviewed By: @alexmalyshev

Differential Revision: D1568392
convert cgConvDblToInt() and cgConvObjToBool to SSA

Reviewed By: @alexmalyshev

Differential Revision: D1568404
Convert LdFuncCachedCommon() and LdClsCachedCommon() to SSA

Reviewed By: @alexmalyshev

Differential Revision: D1568449
Fix crash in inferTypes

Summary: When we clear m_propSym we need to clear m_propSymValid

Reviewed By: @jdelong

Differential Revision: D1568567
Remove clang warning suppressions, and fix fallout

Summary: We were suppressing various clang warnings. Mostly harmless
fixes. I think the pdo one was a real buffer overrun waiting to happen.

Reviewed By: @edwinsmith, @bertmaher

Differential Revision: D1566241
Delete unused preprocessor.ml

Reviewed By: @elgenie

Differential Revision: D1568390