Rename Transcoder and move some state up in prep for porting.
Switch over to using jcodings for transcode.
Reimpl a bit of gsub pipeline to match MRI better.
Start wiring Converter up to new transcoder.

* convpath logics implemented properly now.
* Most other methods still to be converted.
Bits and bobs of ported code for transcoding.
Get most of Converter converted over to new transcoder.
Implement String#scrub (issues remain in jcodings).

* From my impl (modified) at rubinius/rubinius#2912
* Fails due to ArrayStoreException in jcodings
Merge remote-tracking branch 'origin/master' into new_transcoder
Fix encoding exception data accessors and #convert exc creation.
Various transcoder/converter porting fixes.
Removing some excludes that work with the new transcoder.
More tags and excludes removed from transcoding APIs.
Merge branch 'master' into new_transcoder
Implement fallback callback for transcoder.
Untag some XML-related encoding excludes.
Many more fixes and removed excludes for new transcoder.

* Moved ECONV flags to use those from jcodings
* Many port fixes and tweaks.

Nearly there!
Implement Converter#putback and insert_output plus other fixes.
Remove more excludes for test_econv
Remove passing tags for Converter.
Encapsulation of LastError and fix of LastError.errorBytesEnd.