Fixes #9. Handle SETTINGS_MODULE AssertionError

Django 1.4 has an override_settings helper. If you're using tower
and use the helper and don't override SETTINGS_MODULE, then tower
throws an AssertionError because there is no SETTINGS_MODULE in settings.

This fixes that and treats it like it would with an IOError.

Also, adds a test.
Update requirements.
Allow JINJA_CONFIG to be a callable or a dict.
Merge pull request #12 from pmclanahan/jinja-config-not-callable

Allow JINJA_CONFIG to be a callable or a dict.
Add LICENSE

This makes the LICENSE explicit.
Add text template domain

Kitsune has email templates which are text (not html) and thus we
need to preserve whitespace. This adds a domain that does that.
Merge pull request #14 from willkg/add-license

Add LICENSE
Merge remote-tracking branch 'willkg/text-domain'
Revert "Add text template domain"

This reverts commit 8462172de1a24fa264c5fa542bacfdda711c76dd.

All the text template domain did was cause tower not to collapse
whitespace when extracting strings. However, gettext calls would
collapse whitespace to create the msgid, so then things never
matched and you'd never get localized strings.

I'm reverting this since it doesn't work.
Merge pull request #16 from willkg/revert-text-domain

Revert "Add text template domain"
Nix fabric requirement

This creates a run_tests.py script that builds the appropriate django
environment for running tests in thus eliminating the need for Fabric.
Merge pull request #17 from willkg/nix-fabric

Nix fabric requirement
Update requirements; nix test-utils requirement

This updates the versions in the requirements file, removes unneeded
imports in test files and makes a small change so we don't need
test-utils anymore.
Move extract_tower_python and extract_tower_template

Moving these to the base makes it way easier to configure tower.
For example, instead of this:

    DOMAIN_METHODS = {
        'messages': [
            ('fjord/**.py', 'tower.management.commands.extract.extract_tower_python'),
        ]
    }

we can do this:

    DOMAIN_METHODS = {
        'messages': [
            ('fjord/**.py', 'tower.extract_tower_python'),
        ]
    }

I added an import to tower.management.commands.extract so that older
tower configurations continue to work.
Update README

This documents tower. There's probably some things missing, but it'll
make people (aka me) much happier.
Merge pull request #18 from willkg/updates

Updates
Linkificationalyze the requirements.txt file
Merge pull request #19 from willkg/requirements-linkificationalyzing

Linkificationalyze the requirements.txt file
Make translator comment prefix case-insensitive

Translator comments currently must start with exactly "L10n:". Change
so that's case-insensitive, e.g. "L10N:" or "l10n:" or "l10N:" also
work.

This is for https://bugzilla.mozilla.org/show_bug.cgi?id=868178

(Note: Babel has recently released new versions that break the
tower tests. I pinned the version to 0.9.6 rather than trying to
fix that in this branch.)
Merge pull request #20 from dpoirier/bug-868178-case-insensitive-translator-comments

Make translator comment prefix case-insensitive