Use per-query GeoIP2 entry cache
We can improve the GeoIP2 code by storing a copy of the
MMDB_entry for each database we've consulted in the
ns_client object. When we need to make another query to the same database for the same client address (or client ECS address, on 9.11), we already know it's going to get the same answer, so we can keep it and reuse it.
This is currently done with thread-specific state memory in lib/dns/geoip2.c, but would be simpler this way.