etcd: generate a id for the new participant after a mode switch
main: do not pass id to etcd
etcd: refactor waitCluster
etcd: add a simple endtoend benchmark
server: move TestModeChange to functional tests
server: add discovery