Hmmm I did that allow_failure wrong.  Take 2
Merge branch 'master' into non-indy-jit

Conflicts:
	core/src/main/java/org/jruby/util/cli/Options.java
[build] keep in sync with master
move osgi to allowed failure for now to generate green run
Do not put new cloned instrs back into original CFG.  WrappedIRClosure is
converted to ClosureInterpreterContext which is not usable by the JIT.

This cloning was done for CFG to match interpreter instr list for accurate
debugging.  A followup commit will clone CFG if debug is enabled so that
we have a contention-free CFG (from JIT) and one which has same instrs
as what the interpreter is interpreting.
Don't use real RubyThread.select logic for files. Fixes #2045.
Commenting.
Merge with master
Fix removal of getMEthodFrameAndClass
Remove unneeded call to interpreter-only method in prepareForCompilation
Remove no passing array spec tags
Mark this as a method only interpreter uses
Remove obsolete tags in blocks
Remove obsolete tags in break specs
Use ByteList length to end traversal while parsing out popen args.

Fixes #2047.
[Truffle] Introduce LexicalScope to resolve constants.

* Built during parsing, and completed with live modules when opening those.
* No need for callingSelf except in the rare case of protected.
* A few improvements on visbility checking.
[Truffle] Add the SharedMethodInfo.generated() factory for generated method info
[Truffle] A few constant specs passing.
[Truffle] Provide Module#const_set(Symbol,value).
[Truffle] Abstract the safepoint mechanism so other features can re-use it.