Document exception guarantee of finish_requests and truncate.
Expand the docstring describing the purpose of exception guarantees.
Add ut-compressed_stream truncate.
Fix compressed_stream::truncate not setting the state properly.
Setting bufferDirty after calling get_buffer is a no-op.
Reorder get_position for clarity.
Add ut-compressed_stream position_5.
Fix get_position after seek to end when the stream item count is a multiple of the block item count.
Improve read() documentation/behavior on end of stream.
Document read_array behavior on end of stream.
Improve write() behavior on non-appending writes.
Document get_position exception guarantee
Introduce close_on_fail_guard to ensure that perform_seek() closes the stream if an exception is thrown.
Don't write user data in close() if not open for writing.
Switch merge sorter to using compressed streams.
wip sorter