merge revision(s) 45676,45677: [Backport #9769]

	stringio.c: move GC guard

	* ext/stringio/stringio.c (strio_write): move GC guard after the
  last using position.
	* ext/stringio/stringio.c (strio_write): use rb_str_append to
	  reuse coderange bits other than ASCII-8BIT, and keep
	  taintedness.  [ruby-dev:48118] [Bug #9769]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@47366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e