Use a global transport and client to prevent leaking connections

Creating a new transport and client on every requests was creating a leaked connection on every request, this is solved using a global client and transport!
Plus, according to go documentation Clients and Transport should be reused, because they use cached connections an may be able to reuse them, so this is necessary if we want to support keep-alive connections in goreq (adding the header just works now)

I've left support for specifying a custom transport in the request, but i think it should be removed, what do you think?