Takes advantage of the 'sparse' feature to minimise writes (in all
cases).
Does some binary-search magic to find the size of a block device, on a
Unix-like OS from Apple that I will not name.
At some point this should be exported through the Python API.