discovery

Discovery:
1. if the cluster is not full: add self to the cluster and return all the peers.
2. if the cluster is full, return a fullcluster error.
no one is using it right now. i will export it when we want to hook it up with the main function or the server.