CA-144658:squeezed is a bootstorm bottleneck when there are many xenopsd worker threads

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>
Can we get the units in the log message for each of the values for consistency?