replace libvirt by qemu-img for volume creation

to support preallocation option
refactor LibvirtStorageAdoptor#createDiskFromTemplate to shape up
change qemu-img info output format to get acurate disk size

change output format from human to json
Feature: add sparse mode support (hard coding)
make volume provisioning type configurable
bugfix: volume creation format specification bug
make disk provisioning type configurable from disk offering
add provisioning type to volumes_view
alter disk offering view to support provisioning type
make disk|service offering API return a provisioning type
add UI to display and configure provisioning type of a volume