Covert pickle tests to use unittest.

Extend tests to cover a few more cases.  For cPickle, test several of
the undocumented features.
diff --git a/Lib/test/test_pickle.py b/Lib/test/test_pickle.py
index 9fe399f..e8c7f30 100644
--- a/Lib/test/test_pickle.py
+++ b/Lib/test/test_pickle.py
@@ -1,3 +1,33 @@
 import pickle
-import pickletester
-pickletester.dotest(pickle)
+from cStringIO import StringIO
+from pickletester import AbstractPickleTests, AbstractPickleModuleTests
+from test_support import run_unittest
+
+class PickleTests(AbstractPickleTests, AbstractPickleModuleTests):
+
+    def setUp(self):
+        self.dumps = pickle.dumps
+        self.loads = pickle.loads
+        
+    module = pickle
+    error = KeyError
+
+class PicklerTests(AbstractPickleTests):
+
+    error = KeyError
+
+    def dumps(self, arg, bin=0):
+        f = StringIO()
+        p = pickle.Pickler(f, bin)
+        p.dump(arg)
+        f.seek(0)
+        return f.read()
+
+    def loads(self, buf):
+        f = StringIO(buf)
+        u = pickle.Unpickler(f)
+        return u.load()
+
+if __name__ == "__main__":
+    run_unittest(PickleTests)
+    run_unittest(PicklerTests)