test.py: Skip function-based views tests if using Django 1.5 or above.
hosts.py: Added ALLOWED_HOSTS lazy iterable object.

By default, Django 1.5 requires ALLOWED_HOSTS to be defined when DEBUG is
False. This lazy iterable object allows us to query our aliases for hosts.

We can also specify wild cards by setting `MULTISITE_EXTRA_HOSTS` if we so
desire. The hosts specified in this variable will be verified first so we
don't have to hit the database if we don't have to.

To use, put the following in your Django settings file:
  from multisite.hosts import ALLOWED_HOSTS as AH
  ALLOWED_HOSTS = AH

If you want to specify extra allowed hosts, add this line to your settings:
  MULTISITE_EXTRA_HOSTS = ['*.mydomain.com']
Added cached template loader.

Re-did the template loaders modules to mimick Django's. This cached template
loader caches on a per-domain basis.

Kept a reference to the multisite template loader in template_loader.py for
compatibilty.
middleware.py: Import md5_constructor from Python starting Django 1.6
tests.py: Fix a test that was failing because Site object creation has changed
in Django 1.6
setup.py: Added missing packages.
setup.py: Bump version to 0.4.0

In this release:
- Django 1.6 support
- ALLOWED_HOSTS iterable for Django 1.5+ populated with the sites defined
- Per-domain cached template loader
Added tag version-0.4.0 for changeset 2da6336d70b0
Merge remote-tracking branch 'ecometrica/master'

Conflicts:
	multisite/middleware.py
	setup.py