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)

This package has some long lines and having them at 79 reduces readability considerably.

http://bugs.python.org/issue18472

This ticket is the conversation about recent changes to the wording in PEP 8 and even Guido says 100 characters is acceptable these days due to newer hardware / displays.  Even the 79 character limit is no longer even followed by most devs in the standard Python library (and it's mentioned in the thread as well).

https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/

Django no longer limits to 79 either and I feel they state the reason beautifully:

> One big exception to PEP 8 is our preference of longer line lengths. We’re well into the 21st Century, and we have high-resolution computer screens that can fit way more than 79 characters on a screen. Don’t limit lines of code to 79 characters if it means the code looks significantly uglier or is harder to read.

Instead of setting a hard line length, ,y suggestion instead of having flake warn about line lengths that we ignore E501 (the line length error code) just like Django does:

```
- flake8 django_yubico/ --ignore=E501
```

http://pep8.readthedocs.org/en/latest/intro.html#error-codes