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
Except it doesn't hold the build package itself. I could name the *variable* `buildPackageOptions`, to make that more clear, but the struct itself definitely are options for the build package (and not the `InvokeBuild` as a whole)