Ports auth decorators to work with both Django and webpy

This PR introduces thread unique tracking of the WSGI environ, and updates the auth decorators to use the stored WSGI environment instead of web.ctx.environ if the request is being served by Django. Existing web.py should continue to work the same as before.

Also updates some PEP8 compliance changes within all modules touched.
I don't want to document WSGI since it's already well documented elsewhere. The next push will add a link to the PEP that defines WSGI for Python in the class docblock.