docs: clean up other apis

The docs for the other APIs use curl for example usage, which matches
the docs for the etcd APIs.

Other cleanup include fixing usage of peer ports and using 10.0.0.x IPs
throughout.
discovery: add clarifying docstrings
Merge pull request #1610 from jonboulle/discovery_docs

discovery: add clarifying docstrings
proxy: add docstrings
etcdmain: simplify proxy start logic
Merge pull request #1613 from jonboulle/proxy_clean

etcdmain: simplify proxy start logic
test: add error package
Merge pull request #1616 from jonboulle/philips-add-error-to-test

test: add error package
*: handle panic and fatal more consistently

1. etcd fatals if there is critical error in the system and operator should
do something for it
2. etcd panics if there happens something unexpected, and it should be
reported to us to debug.
Merge pull request #1612 from jonboulle/proxy

proxy: add docstrings
Merge pull request #1614 from yichengq/194

*: handle panic and fatal organizedly
*: add a Advance interface to raft.Node
Node set the applied to committed right after it sends out Ready to application. This is not
correct since the application has not actually applied the entries at that point. We add a
Advance interface to Node. Application needs to call Advance to tell raft Node its progress.
Also this change can avoid unnecessary copying when application is still applying entires but
there are more entries to be applied.
Merge pull request #1586 from xiangli-cmu/fix_node

*: add Advance interface to raft.Node
etcdserver: improve panic message in Cluster
cluster: separate out membersFromStore from newClusterFromStore
Merge pull request #1618 from yichengq/203

etcdserver: improve panic message in Cluster
etcdserver: move config validation to cluster
Merge pull request #1623 from xiangli-cmu/valid_configuration

Valid configuration
discovery: simplify interface

There's no real need to expose a Discoverer interface/struct when the
only use of the interface (and indeed the module) is to invoke a single
function. This isn't Java, after all. So instead, simplify to Discovery
exposing just two functions: JoinCluster (i.e. what was formerly called
"discovery"), and GetCluster (hitherto "ProxyDiscovery")
etcdserver: validate peerurl when adding members