Parallelize running tests with pytest-xdist

We've had a number of problems with pytest-xdist, primarily on
Python 3.x where we had intermittent failure. However we're also
getting intermittent failures on Travis due to how long the tests
actually take to run. Given two different intermittent failures
it seems that the one that runs faster should be preferred.
Use a tarball because it's faster than cloning a repository
pytest-xdist and Python 3.2 do not get along
Refactor the Travis running into a shell command
Merge pull request #1761 from dstufft/parallize-pypy

Parallelize running tests with pytest-xdist