Merge in the "treecompose" script from fedora-atomic, split it up

We really only want one git repository for this, and since we already
have this as a package, let's reuse it.

It'll have us in a hybrid of Python/JS for a while, but that's OK.

We also split the script into separate entry points. It works better
if this isn't all-in-one; split it into multiple parts so that e.g. we
can run them concurrently.