Start replacing UserDict.DictMixin with collections.MutableMapping (the bsddb modules are next).
diff --git a/Lib/_abcoll.py b/Lib/_abcoll.py
index 005f437..de6e6f8 100644
--- a/Lib/_abcoll.py
+++ b/Lib/_abcoll.py
@@ -378,6 +378,11 @@
     def values(self):
         return ValuesView(self)
 
+    def __eq__(self, other):
+        return set(self) == set(other)
+
+    def __ne__(self, other):
+        return set(self) == set(other)
 
 class MappingView(metaclass=ABCMeta):
 
@@ -485,6 +490,13 @@
         for key, value in kwds.items():
             self[key] = value
 
+    def setdefault(self, key, default=None):
+        try:
+            return self[key]
+        except KeyError:
+            self[key] = default
+        return default
+
 MutableMapping.register(dict)