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.
SortedMap was convenient here because of the usage pattern.  If you're concerned about space, could use a ListMap instead.  However, those only _happen to_ be sorted (it's not guaranteed by contract).