fixup string stream seek position

Two issues addressed here:

* json dumping to a string was overwriting rather than appending to the
  stream
* Boundary check for string streams meant that you couldn't set the seek
  position to append