add a request() convenience method to the transport manager mixin
refactor Google auth backend to make it easier to subclass