lnst-ctl: enhance readability of info about processed recipes

Resending version 2 of the patch. I moved the code for generating log
entry into a function to avoid code duplication.

This is a patch that would slightly enhance readability of controller
log.

First change is addition of a missing log entry when recipes are passed
as
individual files.

Second change is modification of the log entry so it's obvious that
another recipe's being processed.

Before,

Loading config file '/root/lnst/lnst-ctl.conf'
Loading config file '/root/.lnst/lnst-ctl.conf'
2013-11-20 09:12:17        (localhost)     INFO: Processing recipe file "recipes/team/recipex_ab_001.xml"
2013-11-20 09:12:17        (localhost)     INFO: Checking machine pool availability.
...

After,

Loading config file '/root/lnst/lnst-ctl.conf'
Loading config file '/root/.lnst/lnst-ctl.conf'
2013-11-20 09:14:43        (localhost)     INFO:
    --------------------------------------------------------
    Processing recipe file "recipes/team/recipex_ab_001.xml"
    --------------------------------------------------------
2013-11-20 09:14:43        (localhost)     INFO: Checking machine pool availability.
...

Signed-off-by: Jan Tluka <jtluka@redhat.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
SlavePool: virtual machine creation ignored custom rpcport

Setting the rpc_port parameter in a slave pool had no effect for virtual
machines, which resulted in the machine being recognized as available
but the controller could'nt connect to it.

Signed-off-by: Ondrej Lichtner <olichtne@redhat.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
NmConfigDevice: add port config to team slaves

When I implemented the team configuration through NM I forgot about port
configuration of team slaves. This commit fixes that.

Signed-off-by: Ondrej Lichtner <olichtne@redhat.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
VirtUtils: use libvirt bindings instead of virsh

This commit reimplements the communication with libvirt. LNST will not
call virsh anymore, instead libvirt bindings are used for interface
creation and virtual network management.

The main difference is that libvirt bindings use xml strings as
parameters so the classes now use xml templates.

I didn't remove the BridgeCtl class and the shell calls, we might want
to use them in future for something.

I did however remove several useless imports.

Signed-off-by: Ondrej Lichtner <olichtne@redhat.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
VirtualInterface: add support for setting device driver

Using the libvirt API binding allows us to create dynamic devices with
specific device drivers easily. This commit adds that functionality.

To specify a device driver you need to set a parameter of your
dynamically created device in your recipe like this:
<eth ...>
    ...
    <params>
        <param name="driver" value="e1000"/>
    </params>
    ...
</eth>

Keep in mind that this will be used as a matching restriction for
matching of physical devices, and when matching virtual machines the
value needs to be supported by libvirt. An invalid value will result in
an exception being raised.

Signed-off-by: Ondrej Lichtner <olichtne@redhat.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>