raft: add recover
raft: not recover from outdated snapshot
raft: fix promotable
etcd: add recover