close read/write streams on connection failure

i've come across an issue where read streams created for large ranges or data sets continue to read / buffer in the background when a multilevel client connection fails. more than once my server process has buffered all the key values from a read stream in memory until oom kills it. these changes attempt to mitigate this issue by destroying the stream when the mux / client connection fails.

would love any thoughts on this. (thx @soldair for letting me rage at you for a while)