add capability to bootstrap from DNS SRV

Simple enough that it doesn't have to go in right now, but it's a nice win from the cluster ID changes we've made for 0.5

I was talking with @brianredbeard at lunch, and he was describing how it'd be nice to bootstrap an etcd cluster using DNS SRV records as the source of truth. Because we can discover services, entries like:

```
_etcd-server._tcp.coreos.com IN SRV 0 0 2380 10.0.0.1
_etcd-server._tcp.coreos.com IN SRV 0 0 7000 10.0.0.1
_etcd-server._tcp.coreos.com IN SRV 0 0 2380 10.0.0.2
_etcd-server._tcp.coreos.com IN SRV 0 0 2380 10.0.0.3
```

Taken together, can form an `--initial-cluster`.

This PR is mostly a hack, and if we like it we can take it, but it was easy enough to do that if there's good use for it, it might as well exist.

(Note I have merely written the code, not tested it against a DNS server)
add a helper function to remove the duplicate code?