raft: protobuf messageType
main: fix typos and initial-cluster references
Merge pull request #1295 from jonboulle/typos

main: fix typos and initial-cluster references
Merge pull request #1293 from unihorn/160

raft: protobuf messageType
etcdserver: change machines endpoint to members
Merge pull request #1290 from coreos/member_endpoint

etcdserver: change machines endpoint to members
etcdserver: clean NewServer
etcdserver: add shouldDiscover
etcdserver: add s.apply
etcdserver: Id -> ID
etcdserver: fix typo
Merge pull request #1288 from coreos/cleanup

etcdserver: clean NewServer
etcdserver: expose store statistics
etcdserver: add ServerStats and LeaderStats

This adds the remaining two stats endpoints: `/v2/stats/self`, for
various statistics on the EtcdServer, and `/v2/stats/leader`, for
statistics on a leader's followers.

By and large most of the stats code is copied across from 0.4.x, updated
where necessary to integrate with the new decoupling of raft from
transport.

This does not satisfactorily resolve the question of name vs ID. In the
old world, names were unique in the cluster and transmitted over the
wire, so they could be used safely in all statistics. In the new world,
a given EtcdServer only knows its own name, and it is instead IDs that
are communicated among the cluster members. Hence in most places here we
simply substitute a string-encoded ID in place of name, and only where
possible do we retain the actual given name of the EtcdServer.
etcdserver: fix TODO and change to base 16
etcdserver: split out storestats and serverstats
etcdhttp: add tests for ServeStats/ServeLeader