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.