Fix changing encoding on shared ByteList
Merge pull request #1699 from intentmedia/stringio_modify_before_set_encoding

StringIO.set_encoding may change shared ByteList encoding