dns: close endpoint when no longer needed
dns: close endpoint when no longer needed

Keeping the old endpoint open on a UDP connection meant that a future
endpoint would not pick up new configuration from a DHCP change. This
meant an existing getaddrinfo would wait for its timeout if a DHCP IP
address appeared in the middle of its attempts.

Closing the endpoint after each attempt means the next one will try
the new, better path and actually succeed.

In practice, this means if `wget http://www.google.com` is stuck on
getaddrinfo before a DHCP IP has been picked up, it will now wait the
3 second timeout and on the next attempt succeed, instead of blocking
for a long time.

NET-77 # done

Change-Id: Ie945685b12d24862ba6ac562830ca9a72d39d513

fuchsia-mirror/third_party-netstack