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)

Please remove this option and stick with the default line length which is documented in pep8 (http://legacy.python.org/dev/peps/pep-0008/#maximum-line-length)