Fixed #2388: String#b improperly updates encoding of source string.
[Truffle] Fixed an infinite loop in RubyRegexp#gsub and got some more specs passing.
Revert "Fixed #2388: String#b improperly updates encoding of source string."

This reverts commit 4e4073299cd2199116e8396f6984d7ace0063cf9.
[Truffle] String#gsub allows an optional block.
[Truffle] Initial implementation of String#gsub with a block.
[Truffle] No need to loop over all regions if we only care about the whole match.
[Truffle] Ensure we call 'to_s' on evaluated block values in String#gsub.
[Truffle] Pass encoding into eval.
[Truffle] Last of the encoding specs.
[Truffle] All hash specs passing.
[Truffle] A few specs passing.
[Truffle] Basic support for tainting.
[Truffle] Remove some notDesignedForCompilations accidentally introduced by inlining.
[Truffle] Read post arguments in reverse - not sure how this was working before.
[Truffle] Fix modules without a name.
[Truffle] Fix the resulting value from a multiple assignment with a single lexical RHS value.
[Truffle] We can just use Java Strings for dispatch - no need to create a RubyString.
[Truffle] Expand the behaviour of array cast to better support some parts of multiple assignment.
Merge branch 'master' into truffle-head