Make an Execution[T] type, which is a monad, which makes composing Jobs easy.

From what I read, global is almost always used and does the right thing most of the time. Since very little work is done in futures, I don't think it is critical, and given that users can always use their own ExecutionContext with run, I figured this convenience was worth it.