Fixes #19891 -- Travis CI support

This branch adds the necessary support for Travis into Django, as discussed on [ticket #19891](https://code.djangoproject.com/ticket/19891).

It runs all Django tests on the following environments:

* SQLite, no GIS
* MySQL, with and without GIS
* PostgreSQL, with and without GIS

It also builds the docs. It does not currently run Selenium tests (because it cannot run `ChromeDriver`, even though it's executable and in the PATH).

Due to some quirks in Travis, it will try to build branches even if they have no `.travis.yml` file. It will try to build them as Ruby code, which will fail. Therefore this file must be created with some minimal contents in all regularly-changing branches of Django before enabling Travis, otherwise people will get email notifications when those branches are modified, triggering a Travis build which will fail. I suggest using a copy of `.travis.yml` from this branch.

I have also seen the [​build time out](https://travis-ci.org/aptivate/django/jobs/7518794) when running PostgreSQL tests (over 50 minutes). This may well happen again. We might need to split the PostgreSQL tests into two separate runs.

Many thanks to @dokterbob and @apollo13 who did all the hard work that made this possible.