Setup tox and travis with Python 3.3

Ref #13
In Python 3, StringIO lives in the io package
Use smart_text instead of smart_unicode

More info:
https://docs.djangoproject.com/en/dev/topics/python3/#string-handling
The except statement has changed in Python 3

The new syntax has been backported to Python 2.7
Merge remote-tracking branch 'origin/master' into python3
Install custom version of sqlite only for py2.7
Use six to test for string type
In Python 3 we can't rely on dict ordering
unicode doesn't exist in Python 3
Use string_types instead of basestring
iteritems has been removed in Python 3
Flake8 fix
Don't let travis install pysqlite for Python 3.3
Fix use of basestring
Don't test Django 1.4 with Python 3
Add GeoManager to Route model

With Python 3 the ORM will blow up if Route doesn't have its own
GeoManager.
Mention Python 3.3 support in setup.py
Merge pull request #14 from makinacorpus/python3

Python 3 support