builder/libvirt: Start on a libvirt builder

Start working on a builder than can build libvirt VMs.  Initially
focusing just on KVM support.

Nowhere near working yet ...
builder/libvirt: New multistep API
builder/libvirt: Start creating .xml file

Still need to figure out how xml files are going to be read-int,
stored, and updated.  For now though, we do fill-in the template.
builder/libvirt: Get VM up and running

We now start the VM, and type the boot command.  The next thing to get
sorted is the network - we need to know the IP of the VM, and the IP
of the host that the VM can see.

Probably the best thing is to create a new libvirt network to connect
the machine to?
Get networking stuff basically working

This is enough to get the preseed file downloaded, and the SSH
connection going.  Things need to be more flexible and configurable,
but at least they are now working at all ...
Turn provisioning on, and shutdown VM.

Now that things basically seem to be working, actually turn the
provisioning on, and add the shutdown step.
builder/libvirt: Check for tools up front
Fix compilation breaking API changes

A couple of the things that have changed completely broke the compile
... so fix those first.