Avoid using backref within native logic.

Some native-implemented methods like String#to_r and to_c used
Regexp logic to break apart the string. Because they called
through the same paths that Ruby code calls through, they were
forced to prepare for and use backref ($~) to hold the MatchData
object. My changes provide a backref-free path in RubyRegexp and
modifies our native logic to use that path. This eliminates the
need for a DynamicScope to be created and pushed along those paths
and should provide a path forward for eliminating scopes from Ruby
code that does not directly reference $~ and friends.