[Reviewer: Mike] Stop DNS resolver from tight-looping if DNS is misconfigured

Mike,

Please can you review my fix to DNS resolution to avoid tight-looping if the DNS server returns a non-empty set of NAPTR records but for which none actually match the service we want.

I've also added partial support for RFC 6733 NAPTR resolution (which involves services called `aaa:diameter.tcp`).  This is incomplete (but a step forward) - I intend to clone the github issue to cover the second aspect.

Matt