JobManager for long running tasks.

JobManager for long running tasks.  Partially addresses https://github.com/dart-lang/spark/issues/280

UX to follow in later CL.  @devoncarew to review