Experimental String#scrub with Encoding::Converter

Massive thanks to @headius for coming up with the idea of using
Encoding::Converter and providing a proof of concept. I mainly adapted this for
Rbx with some minor changes.

Note that this particular implementation is *really* slow compared to MRI, it
is however faster than the String#chars version used before. Although I'd
prefer not to we might want to move this over to C++ land if high performance
is required.
Added specs for String#scrub.
Merge pull request #2912 from rubinius/string-scrub

Support for String#scrub