#8889: rewrite transient_internet so we don't use EAI_NODATA on FreeBSD.

FreeBSD doesn't have socket.EAI_NODATA.  I rewrote the routine because
there's no easy way to conditionally include a context manager in a
with statement.  As a side benefit, instead of a stack of context
managers there's now only one.
diff --git a/Misc/NEWS b/Misc/NEWS
index 81891c1..8d69ebe 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -105,7 +105,10 @@
 Tests
 -----
 
-- Issue #8835: test_support.transient_internet() catchs gaierror(EAI_NONAME)
+- Issue #8889: test_support.transient_internet rewritten so that the new
+  checks also work on FreeBSD, which lacks EAI_NODATA.
+
+- Issue #8835: test_support.transient_internet() catches gaierror(EAI_NONAME)
   and gaierror(EAI_NODATA)
 
 - Issue #7449: Skip test_socketserver if threading support is disabled