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...
added function documentation in fn-algorithms
organized example footers and cleaned up main()
updated TODO, fn-algorithms and made outputfooter()

outputfooter() is first test of outputing read footer.
updated TODO
regressions to fix padding issue with vhdfooter

having guid struct within vhdfooter struct was causing an additional 8
bytes to be added before the uuid, those breaking the structure size of
512. I have gone back to using unsigned char uuid[16] instead. Not as
neat and tidy, but oh well....
updated TODO
playing with changing a value and updating checksum
finally added file seeking
renamed some variables and other cleanup
cleanup and new pretty print -l
setting up pretty print, regular and hex
finished cleaning up pretty printing