with assertion problem at server.go L567
improve init process
refactor
change promotable to a func
update leadername
update leader name when server is follower
change join command to interface, so application can overwrite it
add leaveCommand interface
fix spelling issue
merge