Rewrite travis.yml to make it simpler and more comprehensive.

Unlike tox, travis never reuses virtualenvs so setup/install time dominates.
Each test configuration only takes a few seconds once everything is
installed, so it's better to run fewer environments with lots of tests
in each.

This reduces the configuration to 10 environments (two for each python version,
with and without dependencies installed).  All tests are run in every
environment where they can run (unlike the tox config, which has many
variants that only run under py27)