[V4] VM videos

Follow up to PR #14.

Create a VM screendump thread (necessary to encode VM videos) on the Machine() class level, as in opposition to taking care of it on other parts of the code, such as the virt-test approach. Also, include a Video Encoder, and encode videos upon VM termination.

Changes from v3:

* Made screendumps and videos off by default.
* Encapsulate functionality to avocado-virt-video subpackage. This way people will be able to use it if they want, and not bother with it if they don't.
* Made command line toggles to enable them: --take-screendumps and --record-videos.

Changes from v2:

* Modernized is_ppm() function according to @ruda's comments
* Added parameters with namespace to control the behavior of the functionality, now it is possible to configure tests to disable screenshots and video encoding
* Changes to video quality: Screenshots are better and taken in intervals of 0.5 s, instead of 2 s.
Now the screendump thread is silent, which makes logs cleaner
* The PR was entirely redone, it's cleaner and better organized. Problems I still couldn't figure out:
* The exact dependencies that we need to add to the avocado-virt RPM to make sure the plugin works.

Changes from v1:

Problems with encoder resolved, it's all working code now.