No reason why Yield19Node shouldn't get position information.
Reverse comparison to avoid NPE.
Do not wrap NativeException unless explicitly rescued.
More tweaks for exception-raising in JI calls.

* Propagate ThreadContext through for stack rewriting.
* Avoid creating intermediate objects for rewriting.
Arity-split rest form should set required = min args.
Propagate ThreadContext.
May need these additional sets of $! but unsure.

Some tests in spec:ji's rescue_spec (specifically, the threaded
pass-through spec at the bottom) appeared to be picking up $! from
a previous spec run within the rescue block. IR is using $! to
pass the exception from handling back out to assignment, but only
the Java exception path was setting it during handling. The Ruby
handler logic did not set $! and leaned on raise logic to have set
$! ahead of time.

The spec in question failed because when the exception is first
raised, it is on a different thread. It is later re-thrown up a
different thread. In order to handle this right now, I'm adding
additional $! setting to the Ruby handler and making the Java
handler do it with fewer conditionals.

@subbu: Hopefully we can look at this together. I'm not sure if
this is the right fix.
Fix specs looking for "dir with spaces" in wrong place.
[Truffle] Tidy up core source sections.
Merge branch master into truffle-head.
[Truffle] Factor out backtrace formatting.
Merge branch master into truffle-head.
[Truffle] Fix reporting of core method names.
Merge branch master into truffle-head.
[Truffle] Allow passing the calling self explicitly into dispatch so we don't depend on a Ruby frame being available.

Cherry-pick of 44f2d7f on truffle-interop by Matthias Grimmer.
Merge branch 'master' into truffle-head