Support for transparent failover between an assigned and an emulated device, allows enabling the migration and overcommit dynamically, while still gaining the performance benefits of device assignment and without disrupting the guest operation.

For virtual machines, device assignment is the best
option for performance. However, when a device is assigned to a VM, both
migration and memory overcommit are currently disabled.

This feature aims at removing the performance/features tradeoff,
by switching to an emulated device in a way that is almost
transparent to users, for configurations where both host
and guest are Fedora.

Fedora should detect that the emulated device serves as a failover
for the assigned device. When requested by the hypervisor,
it will stop and eject the assigned device, switching to failover.
After this point, migration and memory overcommit are possible,
while device configuration is preserved. Once e.g. migration
completes, the reverse switch can take place.

At the kernel level, for networking, this can be done by and creating
team (or a bond) in a failover configuration, and for storage, using multipath,
on top of both the assigned and the emulated device.

kvm needs to be extended to notify the guest that the two devices are setup in a fallback configurationIn particular, add support for sending dbus commands to qemu-ga.Need to configure security policy appropriately to allow control of what's allowed, cleanly.