raft: add RemovedNodes to SoftState
pkg: set minimum TLS version to 1.0 (disable SSL3)

SSLv3 is no longer considered secure, and is not supported by golang
clients. Set the minimum version of all TLSConfigs that etcd uses to
ensure that only TLS >=1.0 can be used.
Merge pull request #1306 from jonboulle/tls

pkg: set minimum TLS version to 1.0 (disable SSL3)
main: use node name as default dir
We use nodeID as the default dir previously. It works fine before we do dynamic nodeID
generation (introducing time). After the change the dynamic nodeID will change every
time we restart the etcd process. If the user does not provide the data dir, the default
dir will change every time. It is not the desired behavior.

In this commit, we change the default data dir to node name. If the user changes the node
name and does provide the data dir, etcd still cannot recover from previous state. But it
is much better than using nodeID. And it is actually a doucmentation issue.

Conflicts:
	main.go
Merge pull request #1303 from coreos/datadir

main: use node name as default dir
etcdserver: add checking when apply conf change
Merge pull request #1296 from unihorn/161

etcdserver: add checking when apply conf change
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
Merge pull request #1285 from jonboulle/stats_leader_followers

etcdserver: add StoreStats, ServerStats and LeaderStats
etcdhttp: set stats field in peer handler
Merge pull request #1312 from unihorn/165

etcdhttp: set stats field in peer handler
stats: fix data race when recording send result
Merge pull request #1316 from unihorn/168

stats: fix data race when recording send result
etcdserver: fix data race in leaderStats.Followers
Merge pull request #1317 from unihorn/169

etcdserver: fix data race in leaderStats.Followers
main: add basic functional test