Combine the functionality of test_support.run_unittest()
and test_support.run_classtests() into run_unittest()
and use it wherever possible.

Also don't use "from test.test_support import ...", but
"from test import test_support" in a few spots.

From SF patch #662807.
diff --git a/Lib/test/test_csv.py b/Lib/test/test_csv.py
index c4d1a03..18f8851 100644
--- a/Lib/test/test_csv.py
+++ b/Lib/test/test_csv.py
@@ -6,7 +6,7 @@
 from StringIO import StringIO
 import csv
 import gc
-from test.test_support import verbose
+from test import test_support
 
 class Test_Csv(unittest.TestCase):
     """
@@ -568,7 +568,7 @@
         self.assertEqual(dialect.skipinitialspace, False)
 
 if not hasattr(sys, "gettotalrefcount"):
-    if verbose: print "*** skipping leakage tests ***"
+    if test_support.verbose: print "*** skipping leakage tests ***"
 else:
     class NUL:
         def write(s, *args):
@@ -640,15 +640,11 @@
             # if writer leaks during write, last delta should be 5 or more
             self.assertEqual(delta < 5, True)
 
-def _testclasses():
+def test_main():
     mod = sys.modules[__name__]
-    return [getattr(mod, name) for name in dir(mod) if name.startswith('Test')]
-
-def suite():
-    suite = unittest.TestSuite()
-    for testclass in _testclasses():
-        suite.addTest(unittest.makeSuite(testclass))
-    return suite
+    test_support.run_unittest(
+        *[getattr(mod, name) for name in dir(mod) if name.startswith('Test')]
+    )
 
 if __name__ == '__main__':
-    unittest.main(defaultTest='suite')
+    test_main()