avocado.virt.qemu: Code refactoring on QemuDevices class.

Improvements that this code refactory brings:

* Introduce QemuDevice* subclasses for every devices that
  avocado-virt handles (like, vnc, network, qmp, etc.).
* The QemuDevice* subclasses allows to represent the command
  line options as strings and to allow pick specific values,
  like the port number of a device.
* The QemuDevice* subclasses have a clone() method for migrating.
* Introduce the Port Tracker, to keep track on ports in use.
* Try to keep the same API of avocado-virt, so the tests don't break.

Signed-off-by: Rudá Moura <rmoura@redhat.com>
Merge pull request #24 from ruda/devices_refactory

avocado.virt.qemu: Code refactoring on QemuDevices class.