Added support for customizing the Gateway before it makes the HTTP request

I think the title says it all.

I have been modifying the RemoteDatasource class by hand for a couple of times now, so I figure that adding an empty function in the real code base should not be a deal breaker.