Backport of weakref.WeakSet and tests from Python 3.
diff --git a/Lib/weakref.py b/Lib/weakref.py
index 84d81a2..88c60e7 100644
--- a/Lib/weakref.py
+++ b/Lib/weakref.py
@@ -20,6 +20,8 @@
      ProxyType,
      ReferenceType)
 
+from _weakrefset import WeakSet
+
 from exceptions import ReferenceError
 
 
@@ -27,7 +29,7 @@
 
 __all__ = ["ref", "proxy", "getweakrefcount", "getweakrefs",
            "WeakKeyDictionary", "ReferenceError", "ReferenceType", "ProxyType",
-           "CallableProxyType", "ProxyTypes", "WeakValueDictionary"]
+           "CallableProxyType", "ProxyTypes", "WeakValueDictionary", 'WeakSet']
 
 
 class WeakValueDictionary(UserDict.UserDict):