rewrite FindProvidersAsync

This PR implements a better `FindProvidersAsync` call that uses the query framework and actually takes advantage of closer peers.
yeah, i can switch over to a single routing table in this PR if youre okay with that