fixed up vhdfooter structure with sub structs.

fixed up vhdfooter with substructs geo and guid.
made corresponding fixes in helper functions.

need to consider renaming vhdfooter.uuid member because it is actually a
guid...