Avoid key collisions when caching records
When using cache for records, entry keys may collide on duplicate records such as MX resource records.
This adds more specific key composition that partially fixes addressing.
MX keys are now records.MX.@.10
and records.MX.@.20
but there's no way to distinguish NS records as they're all records.NS.@
.