keep UserDict an old-style class

Be generous in abc.py to allow this.
diff --git a/Lib/UserDict.py b/Lib/UserDict.py
index bd64f84..bb2218a 100644
--- a/Lib/UserDict.py
+++ b/Lib/UserDict.py
@@ -1,6 +1,6 @@
 """A more or less complete user-defined wrapper around dictionary objects."""
 
-class UserDict(object):
+class UserDict:
     def __init__(self, dict=None, **kwargs):
         self.data = {}
         if dict is not None:
diff --git a/Lib/abc.py b/Lib/abc.py
index c37ed8f..515ba08 100644
--- a/Lib/abc.py
+++ b/Lib/abc.py
@@ -3,6 +3,8 @@
 
 """Abstract Base Classes (ABCs) according to PEP 3119."""
 
+import types
+
 
 # Instance of old-style class
 class _C: pass
@@ -101,7 +103,7 @@
 
     def register(cls, subclass):
         """Register a virtual subclass of an ABC."""
-        if not isinstance(subclass, type):
+        if not isinstance(subclass, (type, types.ClassType)):
             raise TypeError("Can only register classes")
         if issubclass(subclass, cls):
             return  # Already a subclass
diff --git a/Misc/NEWS b/Misc/NEWS
index 5926603..feab9c5 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -971,8 +971,6 @@
   position to the given argument, which goes against the tradition of
   ftruncate() and other truncation APIs.  Patch by Pascal Chambon.
 
-- UserDict is now a new-style class.
-
 - Issue #7610: Reworked implementation of the internal ``zipfile.ZipExtFile``
   class used to represent files stored inside an archive.  The new
   implementation is significantly faster and can be wrapped in a