add a test case to test qemu-img with preallocation option
add provisionType parameter to createDiskFromTemplate method
fix VolumeObject class to reflect the change in Volume class
add "ProvisioningType" member to DiskProfile
add 'ProvisioningType' member to VolumeObjectTO
make provisioningType constructor parameter mandatory in VolumeVO class
define Preallocation enum
set preallocation option as qemu-img option
make DataDisk sparse ready
set provisioningType in allocVolume method
correct merge miss
correct indent miss
correct merge miss
refactor LibVirtStorageAdaptor#createPhysicalDisk
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

Conflicts:
	plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
	plugins/hypervisors/kvm/src/org/apache/cloudstack/utils/qemu/QemuImg.java
Feature: add sparse mode support (hard coding)
bugfix: checkstyle error
make volume provisioning type configurable

Conflicts:
	engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
	server/src/com/cloud/configuration/Config.java
	setup/db/db/schema-421to430.sql