vm: move getBalloonInfo in the stats thread

To gather the ballon stats, we used to make a direct libvirt
call in the getStats() body. This is dangerous, because
getStats() should not contain costly calls, and should
just gather data.

This patch reimplements the balloon information getter as a
sampling function, and moves it into the VmStatsThread
to make things more robust.

As remainder to avoid to sneak costly calls in getStats,
this patch also adds a docstring in getStatsInternal.

This is a backport of the patch from master/3.5.0,
given the performance benefits also observed from
this patch.

Bug-Url: https://bugzilla.redhat.com/1102147
Change-Id: I51fd1268b3718f3cb0c1bb32b13f38a58a67b8be
Signed-off-by: Francesco Romani <fromani@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/27696
Reviewed-by: Vinzenz Feenstra <vfeenstr@redhat.com>
Reviewed-by: Dan Kenigsberg <danken@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/28686
Reviewed-by: Yaniv Bronhaim <ybronhei@redhat.com>