dns.hpp tests: check for timeout when server is nonexistent

While there, avoid calling one member `result` and another `results`
because this is very very very confusing.
dns.hpp tests: add pathological test case

One may be tempted to pass the return value of DNSResolver() to
DNSRequest() to avoid saving a resolver.

The code is not designed to support this use case (supporting this
use case requires to implement reference counting of the DNS resolver
object, and we don't want to go down that road).

So, at least make sure that using the code like this does not
lead to crashing libight.
dns.hpp tests: check that it's safe to forget about pending requests