Remove locking on stream while formatting.

By default, streams create a lock when they're created. This lock
is then used to synchronize access to the stream in various situations.

Even when contention on a given stream isn't high, this lock can
have some impact on performance due to creating contention on a
lock within the Boehm GC when using the C backend. This is because
the lock's constructor registers a finalizer, which grabs the GC
lock.

When we're formatting to a string or formatting a date, we know
that other threads won't be using this internal string-stream, so
we can disable locking on it safely.

This provides a substantial performance improvement to the HTTP
server under load.
Merge pull request #458 from waywardmonkeys/reduce-locking-on-streams

Remove locking on stream while formatting.