Update the sub-stream classes to all inherit from `NonDisposingStream`.
This allows them to correctly implement the `Dispose` pattern, and delegate
the actual disposal to `NonDisposingStream`.
In doing so, we need to remove some redundant overrides from
`NonDisposingStream`, otherwise `BufferedSubStream` would use the
overrides inherited from `NonDisposingStream` instead of the ones
inherited from `Stream` (i.e. delegate `ReadByte` to `Read`).
* First pass. Writing isn't implemented on stream. Tests are busted.
* LZipReader works...no file name :(
* LZipWriter works
* Writing tests are actually correct now. LZipStream correctly writes trailer now. lzip command line tool likes it.
* Add recommendation blurb
* Update notes for formats
* LZip isn't an archive format
* Attempting to fix and implement crc32
* LZip writing test passes
* Had to invert crc to check uncompressed data.