virttest.qemu_devices: Hotplug/unplug support

This patch adds the possibility to safely hotplug/unplug devices from
running VM.

Additionally it adds another VM state and VM param. When the test
requires clean VM, you might specify "allow_hotplugged_vm = no" and
when VM used hotplug it will be recreated.

For hotplugging you might specify monitor, which should be used and
whether to verify results. This is not supported by all devices, but
when there is a method to automatically verify hotplug results, it'll
do it for you and cleans the qdev state for you. Otherwise it's upto the
user to do it by qdev.hotplug_verified().

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
virttest.qemu_devices: Add support for hotpluggable drives

Add support for QDrive, which supports drive_add (QHPDrive) or
__com.redhat_drive_add (QRHDrive).

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
virttest.qemu_devices: Fix error messages of DevContainer.insert

Error reason was shown only in force insertion mode.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
virttest.qemu_devices: Set bus/addr when force insertion device

When we force insert device into bus where it doesn't belongs to
we should probably set bus and addr as it's not the default behavior.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
virttest.qemu_devices: Skip 'driver=' string in devices

Libvirt doesn't use the full cmdline, but only -device $driver,$params
format. This patch makes autotest follow this syntax too.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>