Add volume signature check in getmetadata
Make exit values consistent
Lessen computation (in C code)
Remove volume header printing in compute_real_offsets()

compute_real_offsets() shouldn't have to print anything but necessary
debug information. The volume header should be printed elsewhere.
Deal with partially encrypted volumes

Fix usage when the encryption of a volume is paused in the middle.
This commit also moves preparation function to another file as there's
more and more of them.

Note that Windows 8's partially encrypted volumes (as in the feature)
were already well dealt with as it displays the volume as fully
encrypted in the BitLocker's metadata header.
Print volume header

As the print was removed from the compte_real_offsets() function, put it
just after getting the volume header, for debugging purpose.
Deal with partially encrypted volumes when writing

When BitLocker's volume encryption was paused and we're writing on a
volume, check that we're not encrypting a sector which wasn't already
encrypted before.