QuorumZabTest: add 2 test cases.

1. Make sure the leader can start up by itself without any follower.
2. Test the case where the leader and the follower have the same
   acknowledged epoch and the leader has a higher zxid.
Merge pull request #52 from m1ch1/master

QuorumZabTest: add 2 test cases.
Broadcasting phase.
Merge pull request #53 from EasonLiao/broadcasting

broadcasting
Changed javadocs to fix a few typos and reflect my understanding. -F
Merge pull request #54 from fpj/master

Changed javadocs to fix a few typos and reflect my understanding. -F
Transport: Add a method to close a connection explicitly.

Zab needs to be able to close connections to peers that don't respond
to heartbeat messages. This patch adds a disconnect() method to the
Transport which closes the underlying connection to the peer and
clears any pending outgoing messages.
Implement broadcast in Transport.java.
Add netty-based transport.
Merge pull request #34 from m1ch1/netty

Implement a netty-based transport
NettyTransport: bug fixes.

- Add a logic for retrying client-side handshake since it's possible
  for the client to lose the tie breaker and get disconnected before
  receiving the handshake from the server the broke the tie.
- Add a few asserts. These are temporary asserts for sanity check.
- Check the result of putIfAbsent() in the send method. Otherwise you
  might lose the first outgoing message.
NettyTransport: Add a test case for broadcasting.
Merge pull request #59 from m1ch1/master

netty transport bug fixes and improvements.
Code refactory : change the logic to different processors and use short circuit transport for LeaderHandler.
Merge pull request #57 from EasonLiao/refactory

Code refactory : change the logic to different processors and use short ...
Move sending HEARTBEAT code to PeerHandler; Use special request to quit processors.
Some fixes on code and some more failure test cases.
Pass just Request field to PreProcessor instead of whole request object.
Merge pull request #65 from EasonLiao/fix_preprocessor

Pass just Request field to PreProcessor instead of whole request object.
Merge pull request #61 from EasonLiao/failure_cases

Some more failure cases.