header (C) fixes
VDI: Bump data alignment for new images to 1M
Storage/VDI: Commit again after fixing the uuid corruption issue
backed out r77457 (due to VDI file content corruption)
Storage/VDI: Make the backend work on big endian architectures
Storage/VDI: Check for out of bounds access when reading from an image
Storage: Add async discard API
VD: Initial support to discard unused blocks in an image + support for VDI images
VD: Interface cleanup. Merge the two involved structures (generic interface descriptor and callback table) into one, remove the duplicated interface wrappers in the backends and move the interface definitions into separate headers separating public and private interfaces.
VMM reorg: Moving the public include files from include/VBox to include/VBox/vmm.
VD: Move the generic virtual disk framework + backends to src/VBox/Storage and rename the files to get rid of the HDD part because it supports floppy and DVD images too