Complete rewrite of deployment plan calculation.

Simplified calculation of deployment plans.

- Plans now have less steps, and each step has less actions, in general.
- Group.dependencyGraph() now includes independent (e.g. disconnected) vertices.
- Removes the `KillAllOldTasksOf` deployment action, as it is no longer used.
- Removes now-unused Group.dependencyList() method.
- Updated tests.
- Fixes #807.
Can we put this in a separate function to reduce the LOCs in here?