qemu_vm: Log the original traceback when VM.create() failes

* when self.make_create_command() raises an exception in VM.create()
  it's catched and reraised. The problem is that the information about
  actual failed line is lost. This patch logs the original traceback
  and raise VMStartError instead.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
Object representation of qemu devices

This is a first part of new way for creating VM. When it's complete
it should create device representation which allows deeper analysis
of current VM state including additionally hotplugged devices.

Current implementation only takes care of usb buses, usb devices and
block devices (disk, cdrom, floppy) and uses the old way of VM handling.
Each added device only extends the old qemu_cmd variable.

For correct PCI address assignement it inserts dummy string devices for
many devices, which are not yet covered by new classes. They don't
affect the qemu_cmd.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
FIX: use weakrefs on qdev object

Those references prevented garbage collector from removing qdev
object, which resulted in hanging VM and lots of nasty related
hangs.

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