engine: handle memory allignment when checking the balloon health

Engine used to check if the ballooning works properly
by comparing the target memory with the actual available
memory and throws a warning if it doesn't match,
the problem is when the requsted target memory value is
not alligned. The system then returns the alligned memory
and the engine thinks the balloon is not working, becuase
the requested value != curent value. This patch changes
the behaviour so it only checks if the current value is closer
to the requested value than the previous value (in other words:
if the current memory moves towards the requested target)

Change-Id: Ibc308a2049c117e2409f480adfcd4a3da495a0b9
Bug-Url: https://bugzilla.redhat.com/1120197
Signed-off-by: Jiri Moskovcak <jmoskovc@redhat.com>