gresolver: Implement a simple and short-lived dns cache
Introducing a local cache is an optimization that smooths over clients making many requests to the same host in a short period of time unnecessarily resolving it repeatedly.
The difference can vary from dramatic on systems lacking a caching resolver to minor on fast and cached systems but in some workloads like a web browser it can be measurable.
It is only short-lived (1 minute currently) as it is not intended to fully replace caching system resolvers. AFAICT Firefox and Chromium both use a 1 minute cache also.