Serialize Agent tasks

https://github.com/coreos/fleet/issues/646
The right way to do this might be to reconcile every 5s or so with UnloadJob tasks for all jobs that have still not been unloaded. Any UnloadJob tasks still in-flight will block new ones, and the reconciler will eventually reach an empty set of jobs. We should probably cap this operation at some configured amount of time that matches the amount of time that systemd will give the process to exit after a SIGTERM is passed.