This is a work in progress, so not many features are implemented yet;
however, the core methods that are implemented should be reasonably
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.