treecompose: Add ability to automatically detect atomic host IP

When creating imagefactory images, we now detect if there is a "default"
KVM network and if so, we grab its IP and dynamically substitute it into
the KS file.  This prevents a difficult to debug error for users who
use a different IP/subnet scheme on their KVM networks.

If we cannot detect the network and IP, we suggest the user static define
it in the KS file.

packaging/rpm-ostree-toolbox.spec.in: Added libvirt-python as a runtime
dependancy.
Upon trigger, run a treecompose.

We fork(), start a log file, run git-pull, then treecompose.
We log (to systemd) the start and completion.

This is kind of big, and in many ways ugly: it hardcodes a lot
of knowledge (git, treecompose commands, path to log file). It's
not terribly flexible. But that hardcoding has to happen somewhere,
and the alternative is to duplicate all that in multiple places
on the build server. This at least gives us consistency, helpful
log files, and a mechanism (journald) such that other processes
can trigger upon successful completion of a compose.
Scheduler: run only one compose at a time.

Testing in progress. Results look promising.
log_dir: avoid collisions.

If we ever start two composes within the same second, append
a sequence number (.1, .2, ...) to the output directory to
prevenctollisions.
git/HEAD can contain more than just branch name

...eg 'ref: refs/heads/mybranch'. Deal with it.
Merge pull request #17 from projectatomic/run-compose

Upon trigger, run a treecompose.
imagefactory: Fix bug where if default network not found

In my initial patch, even if the used hard-coded, as they
were advised, the OSTREE_HOST_IP in the kickstart it would
not proceed due to the fatal error while checking network
names.  This patch properly corrects that.