Include all the tests in the test suite

Previously we had no test_suite function and so automatic test discovery
kind of worked.  But it skipped the two doctests and a bunch of other
tests from test classes that forgot to subclass unittest.TestCase.

This uncovered some test failures under Python 3.2 that were not noticed
because those test cases were accidentally not being run.

Here I tried to minimize the differences from stdlib's test_pickle.py
and pickeltester.py: all abstract test classes inherit from
unittest.TestCase again, but only explicitly enumerated test classes
that comprise the test_suite() function will be run by the test runner.

I also removed an incorrect PyPicklerBase base class that caused
PyPicklerBytestrTests and PyPicklerBytesFallbackTests to repeat all the
PyPicklerTests unnecessarily.