squeezed: if running on xen, discover domain 0 memory via the balloon driver

We must ensure that xapi and squeezed agree on the amount of memory to
'assign' to dom0, so that the host free memory calculations are correct.
Ideally xapi should delegate all of this to squeezed.

For the moment, both xapi and squeezed will query the balloon driver first
since this number is most accurate, and fall back to /proc/meminfo (which
is usually a smaller number than expected).

Signed-off-by: David Scott <dave.scott@citrix.com>
Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Merge pull request #27 from djs55/dom0-mem

squeezed: if running on xen, discover domain 0 memory via the balloon dr...
CA-144658: Do not call squeezer if Host have enough free memory for create VM

In this fix, the problem is in bootstorm, squeezer will be a bottleneck here. For the test environment configure here, start VM don't need squeezer to work since there is lot of memory free in host.
So as a workaround here, we don't need to call squeezer if there are lot of free memory and also all other VMs' memory target has been met.
This fix add a conditional check in change_host_free_memory, which is let "finished" to be true if host memory requirement is smaller than free memory and all VMs meet their targets.

Signed-off-by: Cheng Zhang <cheng.zhang@citrix.com>
Merge pull request #28 from cheng--zhang/CA-144658

CA-144658: Do not call squeezer if Host have enough free memory for create VM