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.

Here's where it gets fun....


You may want to use *derived* settings for this (Def.derived).  For derived, leave ALL configurations out and sbt will autogenerate the Setting[_] instance for appropriate configs *if* someone depends on you, which you'll want to do here (so if `runner in <some wierd task>` exists, then `backgroudnRunMain in <some wierd task>` will as well).

WE may need to chat in the AM about it.  Also @eed3si9n hates derived settings, and I think they should be EVERY setting (sort of).