etcdmain: resolve DNS hostnames for client and peer URLs

etcd resolves DNS hostnames to IP addresses for client and peer URLs
before creating any listening sockets.

The following messages are logged during startup:

    etcd: Resolving infra0.coreos.com:2380 to 10.0.1.10:2380

Fixes #1991
Merge pull request #1996 from kelseyhightower/fix-dns-discovery-hostnames

etcdmain: resolve DNS hostnames for client and peer URLs
etcdserver: remove example.go
Merge pull request #2000 from xiang90/rm

etcdserver: remove example.go
etcdserver: cleanup wal upgrade
raft: remove unnecessary funcs in raft.go
Merge pull request #2003 from xiang90/raft_clean

raft: remove unnecessary funcs in raft.go
Merge pull request #2001 from xiang90/cleanup

etcdserver: cleanup
etcdserver: kill a todo in test
Merge pull request #2005 from xiang90/kill_todo

etcdserver: kill a todo in test
etcdserver: move member sort interface to member.go
etcdserver: cluster clean up
Merge pull request #2006 from xiang90/cluster_clean

cluster clean up
etcdserver: cleanup cluster.go
Merge pull request #2007 from xiang90/cluster_clean

etcdserver: cleanup cluster.go
etcdserver: cleanup server.go
Merge pull request #2008 from xiang90/server_clean

etcdserver: cleanup server.go
etcdserver: remove unused containsUint64()
etcdserver: remove unnecessary indirection
Merge pull request #2009 from xiang90/refactor

etcdserver: remove unused containsUint64()