Piper/add flake 8 code linting

### What is the problem / feature ?

- `django_cas_ng.backends.get_saml_assertion` referenced `datetime` which was not imported in the module.
- The body of `django_cas_ng.backends._verify_cas3` had several code blocks whose indentation was 3 spaces rather than 4.
- Some very long lines and difficult to read sections of the code.

### How did it get fixed / implemented ?

- Added a new test suite to travis which uses `flake8` to lint the python code (which would have caught all of the issues above).
- Fixed the above issues.
- Did some minor refactoring to improve readability.
- Modified some sections where strings were being added together to use tools from the standard library.

### How can someone test / see it ?

Nothing should have changed in terms of behavior (besides one bugfix in redirect url calculation).

*Here is a cute animal picture for your troubles...*

![panda_1551518c](https://cloud.githubusercontent.com/assets/824194/4939000/bcee18bc-65cf-11e4-96a9-bf19f2609534.jpg)