Fixes for Python 3.3 compatibility, while retaining Python 2.7 compatibility

Note that you'll need to patch requirements.txt to try this PR. I haven't included it in the PR because I assume you have reasons for holding python-dateutil at `<2`, and because in some cases forks are used (for slumber) or branches are used (for django-select2), or HEAD is used.

Depends on https://github.com/mysociety/django-sluggable/pull/1, possibly https://github.com/mysociety/django-subdomain-instances/pull/2

`django-pagination` is very old and unmaintained. Can you possibly not use it? (4 failures)

My test failures include 30 of the following sort. Seem to be caused by django-subdomain-instances.

```
instances.models.DoesNotExist: Recording has no instance.
instances.models.DoesNotExist: Section has no instance.
instances.models.DoesNotExist: Speech has no instance.
instances.models.DoesNotExist: Speaker has no instance.
```

I'm also getting these (likely Python 3 issues): (7 and 1 failures each)

```
TypeError: can't use a string pattern on a bytes-like object
TypeError: Type str doesn't support the buffer API
```

I've also eliminated warnings around `django.utils.simplejson` (will be removed in Django 1.7) and around `assertEquals` (`assertEqual` is a synonym that issues no warnings since before Python 2.6).

```diff
 ### General useful bits
 PyYAML
 psycopg2
-python-memcached
-python-dateutil<2
+-e git+git://github.com/linsomniac/python-memcached.git#egg=python-memcached
+python-dateutil
 pytz
 
 ### Django related
 Django>=1.4.2
 South
 django-pagination
-Django-Select2==4.2.2
-django-tastypie==0.9.16
+-e git+git://github.com/applegrew/django-select2.git@python3#egg=django-select2
+django-tastypie
 django-qmethod
-django-bleach
+-e git+https://bitbucket.org/jpmckinney/django-bleach.git@python3#egg=django-bleach
 django-pipeline
 django-pipeline-compass-rubygem
 # Only for debugging, but very useful and easiest to just have it here
@@ -48,9 +48,10 @@ pyelasticsearch
 django-haystack
 
 # mySociety modules
+-e git+git://github.com/zapakh/slumber3.git#egg=slumber
 popit-django==0.0.3
-mysociety-django-sluggable==0.2.4
-django-subdomain-instances==0.2
+-e git+git://github.com/jpmckinney/django-sluggable.git@hotfix#egg=sluggable
+-e git+git://github.com/jpmckinney/django-subdomain-instances.git@tests#egg=instances
 
 # We use nose to run the tests, which gets around various limitations
 # with the built-in test runner:
```