Sketch of fix that restarts stopped/failed units.
More or less back to prior state, to be rebuilt TDD.
Start using NodeState as result of discover_node_configuration().
Discvoer not running units accurately.
Calculate which applications to start, restart and stop given the new information.
The interface says `IGearClient.list` should return a set, not a list.
Restart applications as necessary.
Make lint happy.
Address review comment: Badly defined test data.
Address review comment: More accurate docstring.
Address review comment: Fix formatting.
Address review comment: More accurate test.
Address review comment: Simplify.
Move out some useful test functionality into its own module.
States are unicode.
A functional test for restarts.
Fix import.
Fix route import even more.
Merge remote-tracking branch 'refs/remotes/origin/master' into restart-failed-units-326
Failed is also a valid stop state.