Add support for custom user models in Django 1.5+

Fixes #6. This is backwards compatible with non-custom user models as well.

Minor additions:
- Fixed line length for pep with the normal standard being 120 (updated flake TravisCI config)
- Cleaned up files to meet PEP8 (mostly stuff that flake isn't picky about)
- Updated requirements-dev.txt to include requirements needs for proper module introspection / hinting while developing locally (i.e. get rid of PyCharm snags of missing packages)

The only place I know that really is set hard at 80 is Google but they stuff like 2 space indents as well.  Even Java at Google is set at 100 and I know they are rallying to change that limit internally (hence the wording changes to PEP 8 last year saying it's ok).