etcdserver: Calculate IDs based on PeerURLs and --initial-cluster-name

Removes the notion of node name being anything more than advisory or
command-line grouping, and adds checks for bootstrapping the command
line. IDs are consistent if the URLs and cluster name (as a token) are consistent.

Adds a flag --initial-cluster-name and mentions it in clustering.md
move this to line49. also do we expect to change the cluster name? i would say probably no.
```go
clusterName  = fs.String("cluster-name", defauleClusterName, "the name of the cluster")
```