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)

Recap:
 - No leaked connections
 - Improved performance
 - Support for persistant connections / keep-alive

PS: I've left support for specifying a custom transport in the request, but i think it should be removed, what do you think?
I believe custom transports make no sense, people using goreq are looking for a simple way of making requests, i dont think it's very useful to provide a way of specifying a custom transport.
Plus, creating a transport only for one request and then destroying it is not good, may even leak connections...