Avoid warnings.
StringAccum::make_transfer(): Inverse of take_string().

Makes a StringAccum from a String, potentially stealing the String's
memory, rather than the reverse.

Also some new substring() variants etc.
Json parsing: Introduce Json::streaming_parser.

Json::streaming_parser builds up a Json from multiple calls to
consume(). This is useful if for example you're reading a Json
over a streaming network connection. It has tests. It is also
about 2x faster than the old Json parser.