Allow overriding ostree-build-yocto

If you create a $workdir/overrides/ostree-build-yocto it will be used
instead of the standard ostree-build-yocto.

This change allow us to use the python27 and git19 scls on rhel6
by having an override file that does something like:

 #!/bin/sh
scl enable python27 git19 "/PREFIX/lib/gnome-continuous/ostree-build-yocto $*"

Where PREFIX is where you installed gnome-continuous.
Wrap python trigger in shell

The platform component doesn't have python, so starting python
directly from the systemd trigger fails. However, it also doesn't
need systemd, so we wrap it in a shellscript that checks for the
existance of python first.
fileutils: Support enumerating directories if matchDirs is true

This is needed as i want to use walkDir to clean up stuff, including
directories.
Use groups to pick components for different targets

Right now we're using a single-value "component" property to pick
what targets to put each component in. Then there is some hardcoded
logic to pick which of these to put in each target. In order to handle
the hwtest and the runtime sharing packages a "minial" component was
introduced to allow some components to be in multiple targets.

However, such a setup requires a strict hierarchical definition of all
components, which scales badly with adding more targets with different
subsets. Instead we switch to a groups based system, where all the
components which previously had "component = minimal" now have "groups =
runtime, hwtest" and the other components just keeps the old component
as the single group.

We also define a "targets" toplevel item that lists the targets
to compose and which groups each should contain, and which subtrees
to use when composing.

This doesn't change what is built or how, but it makes things more
flexible when adding more targets in the future.