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 believe this line down to the return can be simplified to this

```go
return path.Join(tempDirectory, subDirectory)
```