[IR] Fix ordering of passes in prepareFor*
Fix #1980: Do not attempt to reuse IRReturnJump/IRBreakJump

* Removed dump opt from b26a85e.
* Added a regression spec.
Added minor debugging output for breaks and non-local returns.
Update tool/sync_ruby to match the new pathname.rb scheme

* Also run it for pathname.rb
* [ci skip]
Update documentation in tool/sync_ruby.

* [ci skip]
Sort paths in tool/globals_2_1_0.rb.

* [ci skip]
Refactor tool/sync_ruby a bit.

* Perfect occasion to use abort
* Stricter version validation
* Splat array in locals instead of indexing
* [ci skip]
Remove unused charset transcoder and related classes.
ONE SCOPE TO RULE THEM ALL

Remove all other StaticScope types and pull IR logic up to it.
Remove unnecessary cast.
Properly duplicate StaticScope for proc construction.
Remove unused param.
Rip out the guts! Removing many non-9k runtime classes.

* ClassCache is gone; it was hacky and problematic when compiled
  code held classloader-level (static) data, as when using indy
  call sites. Java 8 has also eliminated permgen, greatly reducing
  the hassle and overhead of loading jitted code. Finally, Rails
  and the other Ruby frameworks are now officially "thread safe"
  (or the teams are committed to them being so) and the multiple
  JRuby model of deployment is discouraged (or even deprecated).
* All old JIT code is gone. It won't be useful for the new
  JIT.
* Removed the last vestiges of Callback-based functions. If I
  remember right, there's some ext out there using them...we must
  find it.
* Rewired JITCompiler to use the new JIT.
* Rewired InterpretedIRMethod to use JITCompiler.
* Moved OneShotClassLoader out of ClassCache (in org.jruby.util)
Ensure ThreadContext "pre" happens outside try/finally for "post".
Merge branch 'master' into truffle-head