only one state machine implementation
rewrite to use MultiPaxos

* add deterministic networking
* add run.py to run three cluster members and a client

This is still incredibly inefficient:
* leaders battle it out for leadership on every invocation
* message sizes are unbounded
* the size of local state is unbounded
work on cluster startup; 'seed' the cluster with a degenerate node to set initial state
implement a simple kind of leader lease using heartbeats
cleanup
run the deterministic network in approximate real time
allow proposals with no caller, for internal operations
Adopt new cluster members using a RSM-based view evolution process
Apparently functional membership-change protocol.

With lots of debugging-harness stuff still hooked up.
autopep8, fix up comments
Merge pull request #25 from djmitche/moderately-complex

Feature-complete Protocol - first draft.