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
shall we simply stop parsing and return if we meet an error? why do we need to continue to parse?