Create cluster simulator

- The simulator can simulate random things happening to the cluster, e.g.
  nodes dying/coming back up/timeouts/nodes processing events and processing
  resultant commands.
- Added first property that runs the cluster until there is a stable leader elected
  by the quorum.
- May need to be extended further to add actual events arriving that are then replicated
  but I'd rather have that in a separate commit when I try to fix NicolasT/kontiki#10:
  would be intersting to see if I can write a test case to prove that the bug is there.
Fixed jkozlowski/kontiki#2