add peer store

This store is designed for node register.

It is used instead of `Peer` for etcdserver to send requests and provide machine infos.

It is necessary to have such a struct to fit: 1. dynamic change on nodes 2. save/load from log/snapshot
why this is not a function of peerGetter?