use fast test environment for setuptools and distribute

This cuts ~3 mins (out of 13) for the py3 pip tests.
It also cuts out the code redundancy that had built up between the "fast" and non-fast test classes.  There's now one main class, with a sliver class for Distribute, that can be dropped after the merge.

The problem started awhile back in an attempt to handle not reusing a cached setuptools virtualenv for distribute tests, but the result was a painful recreation of distribute virtualenvs for each test requiring distribute.