version: move version string into new package
gitignore: be more specific when ignoring /etcd
godep: add deps for etcdctl
etcdctl: import from external repo
etcdctl: remove build indicator from README.md
etcdctl: reflect build script location in README.md
etcdctl: update to meet go vet
raft: Make MsgAppRes ack only the last index in MsgApp

As explained in #1366, the leader will fail to transmit the missed
logs if the leader receives a hearbeat response from a follower
that is not yet matched in the leader. In other words, there are
append responses that do not explicitly reject an append but
implied a gap.

This commit is based on @xiangli-cmu's idea. We should only acknowledge
upto the index of logs in the append message. This way responses to
heartbeats would never interfer with the log synchronization because
their log index is always 0.

Fixes #1366
raft: change raftLog.maybeAppend to return the last new index

As per @unihorn's comment on #1366, we change raftLog.maybeAppend to
return the last new index of entries in maybeAppend.
doc: add admin api doc
etcdserver: add test for cluster.String
Merge pull request #1384 from jonboulle/test

etcdserver: add test for cluster.String
etcdserver: fix + expand config tests
Merge pull request #1385 from jonboulle/config

etcdserver: fix + expand config tests
Merge pull request #1368 from xiangli-cmu/doc

doc: add admin api doc
raft: add tests for ignoring heartbeat reply
Merge pull request #1364 from bcwaldon/import-etcdctl

Import etcdctl
etcdserver/etcdhttp: use container for admin/members endpoint
etcdhttp: remove /v2/admin/members/x serving
etcdhttp: rename Members -> members in JSON, update doc