raft: commitIndex=min(leaderCommit, index of last new entry)
*: 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