Python 3 compatibility

This adds a (small) test suite and Python 3 compatibility.

It also adds explicit dependencies:

Django >= 1.4 (this is the oldest supported branch of Django, so seems reasonable)
six >= 1.4.1 (I didn't use django.utils.six because the version in Django 1.4.10 is too old)

There are some doc fixes too.

I didn't use django-admin.py for running tests because I had some problems with Django 1.6 - something to do with path munging it does, I would guess.