[WIP] Python 3 Support

This pull request adds python 3 support into wagtail.

The following changes have been made:
 - [x] Removed all unicode literals 
 - [x] Fixed relative imports
 - [x] Used six for string type checking and importing StringIO/urllib
 - [x] Converted all __unicode__ methods to __str__ (and used djangos python 2 compatibility decorator)
 - [x] Changed syntax of print statements
 - [x] Added metaclass to Page object in a python 2/3 compatible way (using six)
 - [x] Removed BeautifulSoup from setup.py requirements

There are still some issues that need to be addressed before merging this PR:
 - [x]  Wait for next modelcluster, django-libsass and compressor releases (for now we should just ship the old versions and tell Python3 users to use development versions of these libraries)
 - [x]  ElasticUtils doesn't currently support Python 3 at all (removed in #186)
 - [x]  More testing
 - [x]  Tox setup (requires pip installable versions of django_compressor 1.4, django-modelcluster 0.2 and django-libsass 0.2)

Blockers:
 - [x] django-compressor - No python 3 support on pypi
 - [x] django-libsass - No python 3 support on pypi
 - [x] django-modelcluster - No python 3 support on pypi
 - [x] Search changes needs to be merged

To test, please use my wagtaildemo python3 branch at https://github.com/kaedroho/wagtaildemo/tree/python3.

Note: I may rebase this branch in the future so keep this in mind if you plan on using it