WIP add peer store

This store is designed for node register.

It is necessary to have such a struct to fit: 1. dynamic change on nodes 2. save/load from log/snapshot
i have some idea that PeerStore should have its exclusive store implementation. This could help it maintain its own knowledge, and don't need to introduce so many operations.
The hard part is that it needs to do snapshot, recovery, watch(maybe) also. This may make it complicated also.