DHT PR

This PR will be for CR and conversation on the DHT.
might be worth wrapping `xor(peer_id, target).commonPrefixLen()` with a `distance(peer_id, target)` function, so it's logically clear everywhere (cpl is similar, but not conceptually the same as key distance).