agent: remove restart command

Other, somewhat random changes:

- Clarify agent/container heartbeat state machine transitions
- Naming convention stuff (request channels in container)
- Code style stuff (all over the place)

Takes over from PR #11. Addresses issue #4.
@peterbourgon I've added e6aedab, which fixes up a few issues in the final shutdown behavior.