Initial commit of simple CI code

I have all the bits needed for a simplified distributed CI, but it doesn't yet run the tests. I have a few more hours work to get everything running as expected, but I thought I should check in some code by now.
pushd and popd emit the directory stack to stdout, which isn't terribly useful in this context - maybe redirect their stdout to /dev/null?