etcdserver: support newly-join member bootstrap

```
1 > $ goreman -f="Procfile" start
2 > $ curl -XPOST http://127.0.0.1:4001/v2/admin/members/ -H "Content-Type:application/json" -d '{"PeerURLs":["http://127.0.0.1:7004"]}'
2 > $ ./bin/etcd -name node4 -listen-client-urls http://127.0.0.1:4004 -advertise-client-urls http://127.0.0.1:4004 -listen-peer-urls http://127.0.0.1:7004 -advertise-peer-urls http://127.0.0.1:7004 -initial-cluster 'node1=http://localhost:7001,node2=http://localhost:7002,node3=http://localhost:7003,node4=http://127.0.0.1:7004' -initial-cluster-state existing
```
The cluster runs well.
can we separate the validation and update logic?