Switch compressed stream to always writing full blocks.
Move fields into compressed_stream_base.
Move most of the compressed_stream_base implementation into the cpp file.
Add ut-compressed_stream reopen.
Add ut-compressed_stream reopen_2.
Fix reopening compressed streams.
Add ut-compressed_stream seek.
Log an error if close() throws in ~compressed_stream.
flush_block: Check for null pointers.
Use proper bufferState/seekState semantics.

Only change bufferState when seekState is set to none,
and don't check bufferState when seekState is not none.
Document bufferState/seekState usage.