work around libvirt bug causing invalid spice port on restart

Upstream bug report: https://bugzilla.redhat.com/835300

causes the inactive XML on the destination to be an exact copy of the
source XML instead of the updated XML provided during migration.

Work around by redefining the XML on the destination after successful
migration (or after the machine was at least defined on the target
node).

Cleanup code by simplifying string concatenation and removing commented
code and improve error handling/reporting.