Add serialization_stream. (#39)

This is a work in progress, so not many features are implemented yet;
however, the core methods that are implemented should be reasonably
stable:

Supports read/write mode only.

open(std::string) only, with an optional `requireCleanClose` parameter
defaulting to true.

Block size fixed to 2 MB.

offset(), size() and can_read() supported.

No seek, skip, rewind, reverse read implemented.
Add ut-serialization stream test.