Move non-service subcommands onto main thread

This change moves execution of the non-service subcommands (i.e.,
`build`, `stop`, `deploy`) onto the main thread. There is no good
reason not to execute these on the main thread, and putting them on
the main thread makes them easier to control via signals.

For example, killing a "clusterrunner build" process will now only
require hitting ctrl-C once instead of twice.