scratch log-compaction
add log-compaction
Merge branch 'master' of https://github.com/xiangli-cmu/go-raft

Conflicts:
	server.go
solve conflicts
clean the codes
fix issues (https://github.com/benbjohnson/go-raft/pull/19)
add snapshot_request.go
add snapshot unit test
solve conflicts
add snapshot unit test
add statemachine interface
add unit test for statemachine
Merge branch 'master' of https://github.com/xiangli-cmu/go-raft into xiangli-cmu-master

Conflicts:
	log.go
go fmt
Clean up TestTakeAndSendSnapshot test.
Minor cleanup.