DHT PR

This PR will be for CR and conversation on the DHT.
maybe let's use different protobuf fields for the returned value and for the next dht peers. (empty optional fields have no overhead). This way the peers value can be a proper repeated field that can have multiple next nodes to try.