Implement a mock transport

The goal of this task is to implement a mock transport for unit testing (see #5). Once we have the mock transport, we can start implementing leader election and ZAB on top of it.
Transport doesn't keep track of the cluster configuration. If you need to broadcast, you need to call send to all the servers.