Python 2/3 port: result of ``futurize --stage2``

- Already cleaned up a little by hand
Remove more redundant list() calls in loops
Python 2/3 port: be conservative: no magic super() imports
Put __future__ imports below the # encoding: utf-8 lines
Fall back to Python 2 urllib imports if needed

* Also fix one bug triggered by passing a newstr to urllib.unquote
Remove obsolete with_statement import from __future__
Always pass a native string to first arg of 3-arg type() call in middleware.py
Add absolute_import to prevent implicit relative import of html.py on Py2
Python 2/3 compatibility for types in the settings registry
Fix a few out-of-order __future__ imports
Python 3 compatibility: Use Django's newer smart_text and force_text if available

- smart_unicode and force_unicode aren't defined in django.utils.encoding on Py3
Python 3: fix arg_names lookup in FormForForm.__init__
Add Python 3.3 to .travis.yml
Python 3 compatibility: Fix galleries/models.py: use BytesIO etc.
Revert "Add Python 3.3 to .travis.yml"

This reverts commit 4dee3b787d040613fa632c3300a29def955ca128.

Django 1.4.x doesn't support Python 3.x, so the .travis.yml file needs to
specify that the combination of Python 3.3 and Django 1.4.x should not be
tested.
PEP 8 style fixes
Change __unicode__ -> __str__ and add python_2_unicode_compatible decorator
Disable standard_library import hooks for pychecker
Add future == 0.8.2 to requirements; remove dependency for setup.py
Change future dependency to >= 0.8.2