*: Id -> ID for protobuf types

We use ID instead of Id in this project based on golang conventions.
update the Documentation/libraries-and-tools.md
Merge pull request #1199 from AdoHe/master

update the Documentation/libraries-and-tools.md to add a new Java client
Merge pull request #1143 from unihorn/136

*: Id -> ID for protobuf types
etcdserver: fix left Id -> ID
Merge pull request #1202 from unihorn/144

etcdserver: fix left Id -> ID
raft: commitIndex=min(leaderCommit, index of last new entry)
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