Replace all real DNS queries in resolver_test.go with a mock DNSClient
that simulates the full iterative resolution hierarchy (root → TLD → auth NS).
- Uses NewFromLoggerWithClient with mock DNSClient
- All 28 test behaviors preserved (NS lookup, A/AAAA/MX/TXT, NXDOMAIN,
sorting, dedup, context cancellation, trailing dots)
- Tests pass with -race flag, no data races
- Total resolver test time: ~1.5s (was >30s)
- Zero linter issues
Closes#32