* support network identity for instance
* introduce foreign network
foreign network allow a node serving as one public node. other nodes can
connect to this node to discover peers and exchange route info.
peer_center is used to collect peer info into one peer node.
the center node is selected with the following rules:
1. has smallest peer id
2. TODO: has allow_to_be_center peer feature
peer center is not guaranteed to be stable and can be changed when peer enter
or leave. it's used to reduce the cost to exchange infos between peers.