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.
rpm-ostree-toolbox: Allow users to run all commands without inputs

This patch encompasses several files (of which will be detailed below)
to allow users to run -toolbox commands without additional commandline
switches and only from the configuration file.  It adds assumptions
for finding proper inputs as well as usable fallback defaults.

* rpm-ostree-toolbox-man
    - Added check for sudo, fail if not
    - Now passing cmd to the classes to help with taskbase conditionals

* treecompose
    - Changed -r (release) to -p (profile) to distinguish between
      the os release and the "stanza" in the configuration file. The
      default setting is now 'DEFAULT'

* imagefactory
    - images (qcow2, etc) are being output'd to outputdir/images
    - -o, -k, --name, --tdl are no longer required
    - Same -r change as treecompose

* installer
    - Same -r change as treecompose
    - -c, -o are no longer required

* taskbase
    - Rec's cmd to be able to conditionally check required inputs
    - profile now is the config.ini stanza
    - release now is the os release, aka release in config.ini
    - detect if -p passed exists, fail otherwise
    - yum_baseurl is now req'd in config.ini or via -b, fallbacks
      removed
    - kickstart fallback is os_name-release.ks
    - tdl fallback is os_name-release.tdl
    - --name is now name from config.ini, unless provided
demo-autobuilder.json: Remove

Long obsoleted.
autobuilder.md: Also remove
rpmqa-sorted: Delete

This is obsolete.
treecompose: Remove output_repodata_dir

No one needs this anymore now that lmacken changed the fedmsg
composer.
taskbase: Also copy over postprocess-script from treefile

This was added recently, and since we're generating the treefile we
need to copy it for the same reason we copy the .repo files.
taskbase: Use copy2 for scripts that need to be executable
installer: Require outputdir

It is still required, we crash without it.
Merge branch 'master' of github.com:projectatomic/rpm-ostree-toolbox

* 'master' of github.com:projectatomic/rpm-ostree-toolbox: (13 commits)
  installer: Require outputdir
  ...

Conflicts:
	src/py/rpmostreecompose/treecompose.py