raft: use newRaft
Merge pull request #1945 from xiang90/raft_test

raft: use newRaft
Remove verbose logging and extraneous debug. Fixes #1904
Merge pull request #1946 from barakmich/less_logging

Remove verbose logging and extraneous debug. Fixes #1904
etcdserver: fix leader stats
etcdserver: update stats when become leader
Merge pull request #1948 from xiang90/stats

etcdserver: fix leader stats
etcdctl: add environment support to certs args
docs: fix port in peer URLs
Merge pull request #1955 from coreos/doc-cleanup

docs: fix port in peer URLs
doc: update node migration guide
Merge pull request #1956 from coreos/member-migration-example

doc: update node migration guide
doc: add backword_compatibility.md
Merge pull request #1951 from jlsalvador/patch-1

etcdctl: add environment support to certs args
Merge pull request #1958 from xiang90/compatibility

doc: add backword_compatibility.md
Documentation: update to 2.0

In anticipation for a 2.0.0-rc.0 release update and move the
documentation.
version: bump to v2.0.0-rc.1
logos: add SVG and PNG logos
Merge pull request #1963 from robszumski/add-logo

logos: add SVG and PNG logos
raft: leader waits for the reply of previous message when follower is not in good path.

It is reasonable for the leader to wait for the reply before sending out the next
msgApp or msgSnap for the follower in bad path. Or the leader will send out useless
messages if the previous message is rejected or the previous message is a snapshot.
Especially for the snapshot case, the leader will be 100% to send out duplicate message
including the snapshot, which is a huge waste.

This commit implement a timeout based wait mechanism. The timeout for normal msgApp is a
heartbeatTimeout and the timeout for snapshot is electionTimeout(snapshot is larger). We
can implement a piggyback mechanism(application notifies the msg lost) in the future
if necessary.