avocado-virt.spec: Add avocado-virt-video subpackage

Turn the video library into a subpackage, that will
let users to install the video functionality if they
want so.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
avocado.virt.qemu.machine: Encode videos upon VM object termination

As soon as the machine is powered off, let's create a
video from the screenshots generated by the screendump
thread. In order to not encode videos unnecessarily
during migration, pass a migrate param to encode videos
and power off/screendump thread end methods to skip
video encoding in such ocasions.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
avocado-virt: Add --take-screendumps and --record-videos options to plugin

Make both the screendump feature and the record video feature
optional, and turn them into avocado command line options.
This way people have flexibility to use the features, while
keeping avocado simple and fast.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
avocado.virt.qemu.machine: Close serial console after power_off()

Close serial console after VM powers off, otherwise Avocado will leave
the process 'nc' running at the end of the execution.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
avocado.virt.qemu.machine: Improve logging with QEMU VM PID

Start to keep track of the VM PID and show it in the
VM log header. This way it'll be easier to understand
what happens during a migration (class UUID keeps the
same, but the QEMU instance - PID - changes as we
move from src to dst). Example:

QEMU VM (621efc41 PID: 6391) Migration successful
QEMU VM (621efc41 PID: 6391) Shut down (migration src)
QEMU VM (621efc41 PID: 6408) Login (Remote) -> (hostname=192.168.0.103, username=root, password=123456, port=5007)

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>