DHT PR

This PR will be for CR and conversation on the DHT.
maybe worth moving the `RoutingTable` and `Bucket` structs into a subpackage. (that way their functionality can be tested independently, and the they can be reused more modularly)