Initial functional checkin of the controller

Note: This does not yet handle artifacts, nor the logs from the builder-core, as we don't yet have those interfaces exposed
I did that, originally. But the builder-code only accepts a directory, not a tar stream (which is what this code originally returned). If you don't mind changing the builder-core, I'd be happy to have it return an `io.ReaderClose` instead.