Fix the blocking problem in reconfiguration by doing 2-phase synchronization.
Merge pull request #155 from EasonLiao/issue_cop

The cluster gets blocked while somebody is joining
Fix the bug of SendingReqTask on shutdown method.
Use different timeout for synchronizing peer.
Merge pull request #153 from EasonLiao/sync_timeout

Sync timeout
Adjust sync timeout dynamically.
Enqueue SHUT_DOWN message to shutdown Zab.
Merge pull request #158 from EasonLiao/shutdown

Don't use future.cancel in QuorumZab.shutdown
Merge pull request #108 from EasonLiao/dynamic_timeout

Dynamically change the timeout for synchronizing process
Some refactory on code and more documentation.
Merge pull request #157 from EasonLiao/review

code refactoring
Rename from QuorumZab to Zab.
Merge pull request #151 from EasonLiao/rename

rename QuorumZab to Zab