dht find connected peers

This PR extends the DHT to send information re: peer "connectedness".
This means that --upon resolving dht queries -- connected peers will
signal whether or not they are directly connected to the peer. this is
in preparation for mesh messaging, and our "STUN" for NAT traversal.
it's not the errors themselves that cause that. it's masking them behind log statements and `continuing` over them. those practices will certainly make it harder to debug behavior.

i'm in complete disagreement regarding panics versus erroring. but whatever