etcdserver/etcdhttp: split out peers and add tests

do we need to fatal here?