Implement backpressure handling

Hi there,

I looked into a lot of stream implementations and recognized that most of them don't handle back-pressure the right way. This leads to excessive memory usage, as the readStream is not getting paused when the writeStream is way slower.

I had a hard time finding a solution to solve this problem, but finally came up with a solution and implemented it in cipherstream.

Please test and let me know what you think. Ah, and merge if you think the solution is appropriate ;-)

All the best,

Sascha