Add __getnewargs__ method to classes that need it.

(Yes, this is an incompatibility.  I'll document it in PEP 307.)
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index da4bd03..8a6a538 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -2698,6 +2698,8 @@
     class C1(list):
         def __new__(cls, a, b):
             return super(C1, cls).__new__(cls)
+        def __getnewargs__(self):
+            return (self.a, self.b)
         def __init__(self, a, b):
             self.a = a
             self.b = b
@@ -2708,6 +2710,8 @@
     class C2(int):
         def __new__(cls, a, b, val=0):
             return super(C2, cls).__new__(cls, val)
+        def __getnewargs__(self):
+            return (self.a, self.b, int(self))
         def __init__(self, a, b, val=0):
             self.a = a
             self.b = b