[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] Document CoreMethod.onSingleton and isModuleFunction.

* Fix usage of them in ThreadNodes.
[Truffle] Fix typo.
Revert "[Truffle] Remove old benchmarks."

This reverts commit 7a7365b10a68f5be17b87eb6ef2a28a7f8a36c99.
[Truffle] Stop using lexicalParentModule but keep it for now to compute name.
[Truffle] BasicObject knows itself.
[Truffle] Implement Module.nesting.
[Truffle] Remove unused lexicalParentModule.
Use cloned flags rather than master copy for interpreter.
Stop using a clone flags since we store them as fields
receivesKeywordArgs irscope -> interpretercontext
Remove some unused internal parameters
Add staticScope to interpreterContext
Let IC determine new dynamic scope (now with closure fail fast code)
Nearly have IRScope removed from interpreter in attempt to promote InterpreterContext to top dog.
Changed construction to pass in IRScope instead having insane param list
Make ICs no longer be operands
Clone WrappedIRClosure (mostly) now
Simplify creation logic in IRClosure and IRScope with a single prepareForInterpretation.
[Truffle] Dir#glob.