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.