Allow non-variant args when inlining NativeImpl

Summary: Change CoerceStk to call a (new) version of tvCoerceParamInPlace
which throws an exception on failure instead of returning false.

Update the unwinder to handle tvCoerceException in CoerceStk's
catch block. Add CheckSideExit to allow for this while also
branching to the unusual cleanup behavior required for inlined
builtins in the case of regular exceptions.

This should noticeably reduce the HNI call overhead
and open up the rest of the conversions to continue
without hurting perf.
@sgolemon@swtaarrs got this most of the way there already,
just cleaning things up a bit.

Reviewed By: @swtaarrs

Differential Revision: D1414528
Use a FixedVector for EHEnt m_catches

Summary: It was using a std::vector, so switching to FixedVector cuts the size
down from 48 to 32 bytes.

Reviewed By: @jdelong

Differential Revision: D1605194
Add missing ini for XSL tests.

Summary: Signed-off-by: Arthur Loiret <arthur.loiret@ens-lyon.fr>
Closes https://github.com/facebook/hhvm/pull/3962

Reviewed By: @paulbiss

Differential Revision: D1612394
Fix is_callable for interface and abstract methods

Summary: Functions without a body can't be called
Fixes #3956

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

Reviewed By: @paulbiss

Differential Revision: D1610550