Expose Ssl option to user.
Merge pull request #126 from EasonLiao/ssl

netty transport: add ssl suport
netty transport: retry binding.

Travis build fails once in a while because it fails to bind to a port.
Retry binding to the port for 5 times before giving up in case this is
a transient issue.
Merge pull request #154 from m1ch1/master

netty transport: retry bind
Some changes for RollingLog and add checksum for every transaction.
Merge pull request #103 from EasonLiao/log_improve

transaction log improvements
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
travis: set maximum Java heap size to 2GB.