[Truffle] Work on interpolated regexps.
[Truffle] New specialisation of String#force_encoding passes some Regexp encoding specs.
[Truffle] A few more Regexp encoding specs passing.
[Truffle] Kernel#local_variables.
[Truffle] Some more specs passing.
[Truffle] Once-only evaluation semantics for some Regexps.
[Truffle] More Regexp modified specs pass.
[Truffle] Fixed a typo.
[Truffle] Kernel#eval now uses a default binding from the enclosing scope.
[Truffle] Kernel#eval can update now update its binding.
[Truffle] Untagged a bunch of passing Kernel#eval specs.
[Truffle] Applied default binding to Kernel#eval with String coerced argument.
[Truffle] Removed unnecessary parameter.
[Truffle] Allow bindings to be used with String-coerced arguments to Kernel#eval.
[Truffle] Be explicit about what the guards are applying to.
[Truffle] Removed unnecessary casts.
[Truffle] Use a NameError rather than NoMethodError for bad references on main object.

Fixes #2289 for Truffle: Incorrect exception type for bad reference.
Fixed casing to match MRI.
[Truffle] Use the correct guard methods.
[Truffle] Handle non-Binding instances being passed to Kernel#eval.