Remaining fixes to pass all of MRI's test_stringio.rb.
Twiddling some specs that fail now (as they do in MRI).
Additional tweaks and fixes for StringIO

* Fix bug related to porting (http://bugs.ruby-lang.org/issues/8728)
* Actually throw arg length error, even though invoker logic
  will do it (consistency with MRI port)
* Cleanups
Add StringIO#codepoints and untag passing specs.
In Ruby 2.0, String#lines returns an Array, rather than an Enumerator
Merge pull request #945 from Sinjo/fix_string_lines_2_0

In Ruby 2.0, String#lines returns an Array, rather than an Enumerator
Missing arities for StringIO#set_encoding.
Final fixes to untag all StringIO specs.
Finally get all specs and tests for StringIO passing together.
Port over a bunch more transcoding stuff + gzip encoding logic.
JRUBY-7189: invalid byte sequence in US-ASCII (aka define_method can register multi-byte non-US-ASCII names now plus reflective methods will return proper encoded symbols)
Optimize String to float creation by limiting how many characters will be looked at
Ripper: huzzah new_assoc is an array not a hash?
Patch up things that broke from my mega-port.

* GzipReader#read always returns ASCII-8BIT strings when given a
  length.
* String#encode needed some ported logic to fit other pieces.
* Get ECONV constants propagated into RubyConverter.
* Encoding 7-bit strings from/to ASCII-compat encs is a no-op.
ripper: Need dispatch for whitespace after newline
Make content of heredoc string get dispatched sooner than later
Remove extra crap which should not have been commited
Eliminate dyndispatch cost if include? is builtin still
Make marker matching smarter and return whitespace laden goodnedd with the marker
Reverse that optimization...Rubicon is complaining and I don't have time to examine it