Django 1.7 migration, and use of python_2_unicode_compatible decorator

This moves South migrations to the ``south_migrations`` module (which South 1.0 gives preference to), and creates new Django 1.7 migrations.

It also uses  the ``python_2_unicode_compatible`` decorator on models, so ``__unicode__`` methods have been renamed to ``__str__`` for Python 3 compatibility. This decorator is only found in Django 1.4.2+, so is incompatible with older Django versions.