raft: heartbeat is only response for maintaining leader dominance
Merge pull request #1200 from coreos/raft_heartbeat

raft: heartbeat is only response for maintaining leader dominance
etcdserver: have newMember take an optional time field

This will be used by members joining an existing cluster or joining
using discovery.
etcdserver: stop using addScheme

This standardizes the flags to use a list of URLs everywhere. The next
step is to enforce the scheme based on TLS settings and support compat
flags.
Merge pull request #1213 from philips/improve-cluster

etcdserver: stop using addScheme
etcdserver: stop worrying about scheme

Stop worrying about the scheme. This puts a TODO on adding validation to
the schemes if TLS is specified. But we can worry about that later.
Merge pull request #1216 from philips/improve-cluster-procfile

etcdserver: stop worrying about scheme
main: not use loop variable in goroutine in loop body

Because loop variable are reused in following loops.
flags/urls: assign urls instead of append
Merge pull request #1217 from unihorn/146

main: not use loop variable in goroutine in loop body
Merge pull request #1218 from unihorn/147

flags/urls: assign urls instead of append
flags/urls: reject url without port

For now, if etcd receives a url without port, it will listen on a random
port, which is useless.
etcdserver: publish self info when start
etcdserver: minimize input info
flags: replace Addrs with IPAddressPort
pkg/flags: add NewURLs helper
pkg: add URLsFromFlags
etcd: support v0.4.6 addr flags

The -addr, -bind-addr, -peer-addr, and peer-bind-addr flags are
superseded by -advertise-client-urls, -listen-client-urls,
-advertise-peer-urls, and -listen-peer-urls, respectively.
If any of the former flags are provided, however, they will still
work. If the new counterparts to the old flags are provided, etcd
will log an error and fail.
etcdserver: move grep member logic into publish func
Merge pull request #1219 from unihorn/148

flags/urls: reject url without port