CLOUDSTACK-2029 zone wide primary storage support for cloudstack over vmware deployments

Added new column 'hypervisor' to table storage_pool to associate a identify a pool at zone level by hypervisor type.

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-2029 zone wide primary storage support for cloudstack over vmware deployments

DB changes to support hypervisor specific zone wide storage pool.
Added method findZoneWideStoragePoolsByHypervisor to PrimaryStorageDaoImpl to find suitable zone wide storage pool of specific hypervisor type.
Added column 'hypervisor' to table storage_pool. This column can be NULL. Used/populated only for zone wide primary storage pools.

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-2029 zone wide primary storage support for cloudstack over vmware deployments

Added hypervisor type to CreateStoragePoolCmd & Storage pool responses.
DatastoreLifeCycle would consider hypervisor type while attaching datastore to zone.
ZoneWideStoragePoolAllocator would filter zone wide primary storage pools by hypervisor type along with tags in disk profile.
hypervisor type is mandatory parameter if scope is specified as ZONE while creating primary storage pool.
As of now KVM, VMware are allowed to use ZoneWideStoragePoolAllocator.

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>