vm: fix migration progress calculation

We use libvirt.domain.jobInfo() to track the migration progress.
Among the provided fields, libvirt provides total, elapsed
and remaining values for `data', `file' and `mem'.

Where `file' is the permanent storage (disk) to be migrated,
while `mem' is the volatile storage (ram), and
`data' = `file' + `mem'.

We mistakenly consider `data' for permanent storage, so actually
redo the calculations libvirt already did, and most importantly we
count the memory twice.

The documentation of libvirt
http://libvirt.org/html/libvirt-libvirt.html#virDomainJobInfo
may be misleading due to poor tipography (misaligned comments)
and that is the most likely cause for the wrong usage.
We discovered the correct meaning by investigating among
libvirt devs and by looking at the libvirt code.

We use shared storage, so the value of `file' field does
not really matter to us, but as a cautionary move
we still track progress using the `data' value, instead
of the `mem'. Being `data' a superset of `mem', this is
still correct.

This patch fixes the progress calculation and simplify
the migration monitoring code.

Change-Id: I10bc039e9620b0cafe4adc21a6f3bda075046d78
Signed-off-by: Francesco Romani <fromani@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/25038
Reviewed-by: Michal Skrivanek <michal.skrivanek@redhat.com>
Reviewed-by: Dan Kenigsberg <danken@redhat.com>