block: vhdx, header update guids & checksums

This adds the ability to update headers (required for write), and
update checksumm as well.

Also, rather than rely on uuid/uuid_generate, generate our own GUIDs
(we may want to eventually break this functionality out for all of
QEMU)