7451: Improve virtualenv setup in run-tests.sh.
The code to build the Python 3 virtualenv didn't check to see whether
the virtualenv already existed first. When reusing a Python 3
virtualenv, pip would get downgraded and start failing.
Refactor the virtualenv setup code to avoid this duplication and these
sorts of bugs.
While I was at it: rather than trying to parse package versions
ourselves to figure out when to upgrade setuptools and pip, just tell
pip the versions we want. 'pip>=7' is an approximation of what we're
currently doing. The main thing we care about is that we get a
version new enough to work with setuptools 18.