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.
Oh, parantheses are usually used to mark methods as side effecting. See: http://docs.scala-lang.org/style/method-invocation.html