Ensure cancellation of migrations gets handled correctly

If the migration is cancelled before the source calls libvirt.migrateToURI2
we have to raise an libvirtError with the VIR_ERROR_OPERATION_ABORTED error
code to ensure that _finishSuccessfully() does not get called and we're
correctly reporting that the migration has been cancelled and that we're
destroying the VM on the destination in the process, since we're bailing
out.

Additionally we'll do the check if the migration has been cancelled
right after the semaphore has been accquired, to avoid doing things
like calling the before_vm_migration_source hook and calling the
destination vdsm to create the VM instance.

Change-Id: Id271a41466bc355ca505f764206457af419f0edd
Bug-Url: https://bugzilla.redhat.com/1023131
Signed-off-by: Martin Polednik <mpoledni@redhat.com>
Signed-off-by: Vinzenz Feenstra <vfeenstr@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/21445
Reviewed-by: Michal Skrivanek <michal.skrivanek@redhat.com>
Reviewed-by: Dan Kenigsberg <danken@redhat.com>