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
This should probably be `defer archiveFile.Close()` and should appear above the `io.Copy` in case the `io.Copy` fails