We suffered a bug whereby doing a follow-up write to another write could
resurrect a deleted stream, causing all sorts of crash.
Fix: when a stream becomes writable (vs when we start writing) take a
ref on the stream, and only relinquish it once we're done writing.