Add atomic set/get configuration from file.
Single server can join itself.
New follower joins in in failure free case.
Now can boot from just log directory.
Remove Request class, refactor MessageTuple out of Participant class.
Merge pull request #99 from EasonLiao/reconfig

Follower joins old configuration in failure free case.
Select the leader with right configuration after recovery.
Add four more join test cases.
Merge pull request #101 from EasonLiao/reconfig

Select the leader with right configuration after recovery.
Clean up cluster change callback.
Merge pull request #102 from EasonLiao/master

clean up cluster state change callbacks
Server can leave in reconfiguration.
Refactoring code
Merge pull request #109 from EasonLiao/refactory

Refactory
Change QuorumZabTest from CountDownLatch to Semaphore.
Merge pull request #113 from EasonLiao/change_test

More unit tests for QuorumZab and change from CountDownLatch to Semaphore