Added LocalDispatcher._Job and LocalDispatcher.JobPool to track running batches.

A handy side effect of the JobPool is that we can fix our test cases which rely on waiting for the background jobs to complete.
Added LocalDispatcher._Job.kill() to terminate a running job.
Added a window for tracking currently running LocalDispatcher jobs.
Added CPU and Memory columns to the Local Jobs window.