storage: docs & rewrite streams.

`ReadableStream` and `BufferStream` implement stream.Readable, and I created a `WritableStream`, which works similar to Readable, but obviously in reverse :)

This also includes elongated documentation.
Implementing `Readable` is making promises we can't implement, that's why our "Readable" stream doesn't implement `Readable`.