Make block device size equal to virtual size

When snapshotting make sure that the size of the underlining block
device is equal to the input media's virtual size. If the input media
is not raw, the QEMU image driver may grow the underlying image. The
block device should be big enough to allow this kind of operations.
Add an Image method for computing the MD5 checksum

This used to be a class in the util module, but since this is only used
on the Image, it suits better there.
Support non-raw images

Use qemu-nbd to export a QEMU image as raw where needed