Add a travis.yml file so that the tests run properly on Travis

This is largely based on the work that Matthew Somerville did to
get the MapIt tests running on Travis.
Person objects in tests should set legal_name; name doesn't work
In tests, include the unusual possibility of a person with an empty name

Presumably when this happens it's an error, but the code doesn't
prevent such people from being created at the moment, so update
the tests to include such a case to check behaviour when it's
present.

Also fix the position sorting code to deal with this case.
Fix warnings when creating SayIt sections in tests

The slugify function in django-sluggable would print a warning
if passed a str rather than a unicode.  Make sure that we create
sections from unicode titles in tests.
Suppress warnings from SAPersonDetail.get_recent_speeches_for_section

These warnings were just noise in the test output.
There are no country-specific tests for Libya, Nigeria or Zimbabwe

... so don't bother running them from the run-tests scripts; the
only tests reported as having been run were doctests that had
already been run anyway.
Merge branch 'feature/travis'