Implement a contextmanager test.test_support.catch_warning that can
be used to catch the last warning issued by the warning framework.

Change test_warnings.py and test_structmembers.py to use this
new contextmanager.
diff --git a/Misc/NEWS b/Misc/NEWS
index 8ef7acb..d8f51bc 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -713,6 +713,9 @@
 - Fix bsddb test_basics.test06_Transactions to check the version
   number properly.
 
+- test.test_support.catch_warning is a new context manager that can be used
+  to catch the warnings issued by the warning framework.
+
 
 Tools
 -----