vm: make _set_lastStatus safer

It is not safe to set concurrently state of a VM, because
the function which does that is not-trivial and racy.

This is a concrete risk in the case of QEMU dying
(or being killed, like in rhbz#1142776) unexpectedly
on Migration Source.

In this case, the race between the libvirt event handler
and the migration.SourceThread becomes evident, and
could end up in messing the Vm state.

This patch introduces a lock to make concurrent invocations
of _set_lastStatus safe(r).

Change-Id: I172c6a4d4bae156294f7f8944912c877f55ab5a0
Bug-Url: https://bugzilla.redhat.com/1142776
Signed-off-by: Francesco Romani <fromani@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/35896
Reviewed-by: Dan Kenigsberg <danken@redhat.com>