Backport of weakref.WeakSet and tests from Python 3.
diff --git a/Doc/library/weakref.rst b/Doc/library/weakref.rst
index 46bfc9d..9c65587 100644
--- a/Doc/library/weakref.rst
+++ b/Doc/library/weakref.rst
@@ -209,6 +209,14 @@
    .. versionadded:: 2.5
 
 
+.. class:: WeakSet([elements])
+
+   Set class that keeps weak references to its elements.  An element will be
+   discarded when no strong reference to it exists any more.
+
+   .. versionadded:: 2.7
+
+
 .. data:: ReferenceType
 
    The type object for weak references objects.