cache lookup for async resolvers

The threaded resolver is a stubborn sheep though, it still sits there and waits 5 seconds to complete 100 google.com resolves.