Merge pull request #1201 from unihorn/143

etcdserver: publish self info when start
Merge pull request #1220 from bcwaldon/bkcompat

Backwards-compatibility with v0.4.6 addr-related flags
pkg/types: introduce a URLs type

Cleanup the usage of URLs into its own type so we don't have to use a
FlagValue everywhere we have a list of URLs.
Merge pull request #1221 from philips/fixing-stuff

pkg/types: introduce a URLs type
raft: add removed

The usage of removed:
1. tell removed node about its removal explicitly using msgDenied
2. prevent removed node disrupt cluster progress by launching leader election

It is set when apply node removal, or receive msgDenied.
raft: refine comment for doc and removed list tests
etcdserver: fix test due to rebase
Merge pull request #1151 from unihorn/138

raft: add removed
raft: msg.Denied -> msg.Reject

Change the field name because it has msgDenied already.
Merge pull request #1224 from unihorn/149

raft: msg.Denied -> msg.Reject
*: expose etcd-index in watch requests

This adds a StartIndex field to the Watcher interface, which represents
the Etcd-Index at which the Watcher is created.

Also refactors the HTTP tests to use a table for most handleWatch tests
raft: do not decrease nextIndex and send entries for stale reply
raft: add comment to decrTo
Merge pull request #1207 from coreos/check_stale_resp

raft: do not decrease nextIndex and send entries for stale reply
raft: add test for maybeappend change
Merge pull request #1203 from coreos/fix_raft

raft: commitIndex=min(leaderCommit, index of last new entry)
Merge pull request #1187 from jonboulle/1187_watches_header

Watches do not return X-Etcd-Index header
main: move server configuration to etcdserver package
etcdserver: collapse dir configuration to DataDir
etcdserver: unexport EtcdServer fields where possible