Merge

Opening for feedback.

Tests are all passing except for a few strange anomalies that typically happen between 8PM and 12AM for me. I haven't even started manual testing yet - mostly I wanted to get basics working. However, the changes I needed to make to the unit tests (mostly related to caching and settings) imply that everything should look pretty good. I know I'll have to do some messing around with the CompanyUser db_table/columns, but that's the only real problem I forsee.

As far as deployment goes, the only thing that should need to change is the settings file. Because settings.prod.py and friends shared the same name in apps I had to namespace-ish them. We might have to mess with celery, but I'm not 100% sure about that.

I'm not too thrilled with the way I had to do seo/tests/setup.py. I'd be interested in suggestions for other ways to do that. Other than that I'm pretty happy with things, surprisingly.
Any particular reason for `len()` here? It should suffice to say `if include_fields`, since an empty list evaluates to False.