virttest.qemu_vm: Add a new list for supported devices

Other test scripts can use this list directly to check
whether some device is supported by qemu binary.

This patch also moves 'has_device' function in
'make_create_command' method into VM class, so that we
can use this method out of VM class scope.

Signed-off-by: Qingtang Zhou <qzhou@redhat.com>
virttest.qemu_monitor: Add APIs for device hotplug/unplug

This patch adds interfaces for hotplug operation:
 * device_add/device_del: For qemu which has '-device' option.
 * pci_add/pci_del: For some old version of qemu.
 * drive_add/drive_del: For newer qemu which supports drive_add.
 * com_redhat_drive_add/com_redhat_drive_del: For RHEL only.

With these interfaces, test cases writer doesn't need to care
about the verison of qemu.

Signed-off-by: Qingtang Zhou <qzhou@redhat.com>
virttest.qemu_monitor: Verify hmp cmd in qmp as well

Some QMP's interface will fallback to HMP if there is no
match QMP command, this patch checks HMP before calling
HMP cmd in QMP, to avoid some unexpected failure.

Signed-off-by: Qingtang Zhou <qzhou@redhat.com>
virttest.qemu_vm: Add APIs for pci hotplug

This patch brings some interfaces for hotplug in qemu_vm
module, so that user doesn't need to care about monitor
protocol and qemu version.

Changes from v1:
 * Update methods argument type as review comments.

Signed-off-by: Qingtang Zhou <qzhou@redhat.com>
Qemu Test: pci_hotplug: Update this test with new interface

Changes from v1:
 * Update device_add/drive_add API arguments type.

Signed-off-by: Qingtang Zhou <qzhou@redhat.com>