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
i want to compact the concepts here a little bit. i do not think we should make everything a separated concept right now.