Background jobs

Some TODO and probably bugs still in here, but I think this is an OK stopping point that should unblock activator to experiment with it.

I think it makes sense to kill everything on reload, it makes sense to restart the Play app on reload.  The only reason why I wouldn't do this is if an IDE decides to do excessive reloads all the time, eg I wouldn't want an IDE to trigger a reload when it started and first connected to the sbt server.