CLOUDSTACK-4948: DeploymentPlanner: Logic to check if cluster can be avoided, needs to consider if VM is using local storage and/or shared storage

Changes:
- Consider if VM requires the local storage or shared storage or both for its disks.
- Accordingly all pools in the cluster should consider local or shared or both pools

Conflicts:

	server/src/com/cloud/agent/manager/allocator/HostAllocator.java
CLOUDSTACK-4948: DeploymentPlanner: Logic to check if cluster can be avoided, needs to consider if VM is using local storage and/or shared storage

Changes:
	- Changes due to VirtualMachineProfile changes done in master
CLOUDSTACK-4755: cloudstack 4.x does not allow memory upgrade

Changes:
- Set total capacity of a host if it has changed in the CapacityChecker thread
- Fix bug while setting the reserved/used cpu/mem capacity - only one of them used to get set