lib/selection{,_iter}.c: allow switching back to UDP
Switching to TCP instead of querying very slow servers over UDP (as suggested by #649 (closed)) has had an unwanted side effect – we would sometimes get stuck with a server permanently switched to TCP. And if the server happens to not reply over TCP we were in trouble.
Therefore after we TCP connect fails or timeouts we provide one last chance for the server over UDP. This will not prevent the next request to try TCP again on this server again, but we don't care because DNS MUST ******* work over TCP.