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 think this would be simpler:

    try:
        resolve(environ['PATH_INFO'], urlconf='pulp.server.webservices.urls')
        return self._handle_with_webpy(environ, start_response)
    except Resolver404:
        return self._handle_with_django(environ, start_response)