Revert "Get rid of contEnterHelper*"

This reverts commit 94d9bf9a5f6a4c558b7b7329a6d3c8883ace3001
Fix type buglet in RetC.

We can decRef an unguarded local from RetC now. This seems
like the right approach, so promote its type to Gen.
Get rid of ext_hhvm_noinline.cpp, part 2

unserialize() and call_user_func_array() were straightforward. They were
called from all over the runtime, but I renamed those implementations
and codemodded the runtime.

The is_* functions were only ever being called by the CVarRef signature,
so I deleted all the other ones (same for f_gettype). Only some of the
is_* functions were being called from the runtime, so I made inline
versions of those without the f_ prefix.
Fix some bugs when we fail to get a translation

If we failed to get the translation for a cloned closure, we didnt
clean the registers.

VMRegAnchor::VMRegAncor(ActRec*,bool) didnt know how to set things
up for continuations, and had an unused bool parameter.

RetFromInterpretedFrame isnt suitable for returning from a
generator - so just preserve m_savedRip across the doFCall.
Get rid of contEnterHelper* (revert the revert)

It was identical to fcallHelper, except that if it couldn't get
a translation, it skipped over the prolog (and didnt call
the FunctionEntry hook, for example). That seems like a bug.

This removes it, cleans up funcBodyHelper to remove the special
cases for isGenerator, and modifies ContEnter to use
Func::prologTable()[1], rather than Func::funcBody() to dispatch.
Remove enum abuse in recordSyncPoint
Rename Tuple to Pair, restrict them to having exactly 2 elements
Stop constructing Strings for o_invoke.

Grepping around for string literals passed to o_invoke turned up these suspects. It's not a great practice. The only one that might matter to perf is the "count" invocation in ext_array.
Disable HipHop syntax for verify_zend

A zend test defines a class called shape.
Better register allocation for DefLabel sources

Looking at some of the code generated by control flow was making me a
little sad, since it had avoidable register to register moves in hot
paths. This diff attempts to assign the same register to the destination of a
DefLabel and the corresponding sources of Jmp_s to that label. It works in the
small examples I've tried, but Perflab doesn't seem to care much (not
surprising since at best it'll eliminate some reg-reg moves).
fix string funcs to return Variants

Convert another return type to Variant. I'm worried there are going to be lots of these. Thoughts?
re-import everything with the new scanf implementation
Explicitly mark unsupported extensions
give up on matching Zend's error messges
Add map(), filter(), zip() APIs for collections
@override-unit-failures Initial support for <?hh typedefs and shapes

Adds runtime support for non-class typehints.  Typedefs are
introduced using type statements, and autoloaded via a new autoload
map entry.  Shapes are parsed but the structure is currently thrown
away and treated as arrays at runtime.  This extends the NamedEntity
structure to sometimes cache 'NameDefs', which are either Typedef*'s
or Class*'s.  VerifyParamType now has to check for typedefs if an
object fails a class check, or when checking non-Object types against
a non-primitive type name that isn't a class.
ContEnter needs to depend on the frame pointer

ContEnter used rVmFp without making it visible in SSA.  This
didn't cause any issues yet because I've never tried to inline
functions that contain a ContEnter.