Add unit test for virt._gen_vol_xml()
Whitespace.
Refactor virt._gen_vol_xml() to use jinja templating
Use assertEqual, less to type
assertEqual gives relevant information on fail
Remove redundant code block

The same code block is present a few lines above. Merge slip?
Make unit tests verify the disk entries in virt._gen_xml()
Refactor _gen_xml(), passes unit tests
Refactor interface (nic) part of _gen_xml()

Integrate the interfaces sections of the XML (from interface.jinja) into
the single libvirt domain XML (libvirt_domain.jinja) to provide a full
view without placeholders containing XML.
Add unit test for tcp/telnet console
Refactor serial/console part of _gen_xml()

Integrate the serial and console sections of the XML (from
serial_port_*.jinja) into the single libvirt domain
XML (libvirt_domain.jinja) to provide a full view without placeholders
containing XML.
Fix logic regarding telnet console and port

Provide a (temporary) default. Previously it was possible to skip
specifying telnet_port and it would result in a incomplete XML.
use python_shell=False when using external inputs
import skipif
use python_shell=False on external inputs
Not sure why we are removing a file from the source halfway in a

test, this should fix the failing test, @s0undt3ch, if this break
something I am not seeing please let me know
don't use python_shell for external inputs
Add unit test for boot device
Refactor boot device part of _gen_xml()

The implementation that this commit replaces was carried over from my
first WIP implementation and did not fully work.

If I understand the original code correctly there was a bug in
supporting multiple boot devices because of a missing str.split().
Add unit test for disk controller