create a different middleware with the CAS gateway functionality

in this way the developer can choose to use the "standard"
django-cas middleware CASMiddleware or the advanced
CASWithGatewayMiddleware