Add proxy support

Added proxy support and a test to support it works, it's basically a copy-paste from the test linked by @marcosnils  from node's request library
It's heavily based on @giefferre work.

I've created another client and transport, initially empty, that are initialized and used whenever a request specifies a Proxy.
Default transport now inherits proxy environment variables.

Cheers!
I think we may have a bug in here, I'm not sure though. 

What happens if a user does this?

```go
res, _ := req.Request{Uri: "someuri.com", Proxy: "someproxy1.com"}.Do()

res2, _ := req.Request{Uri: "someuri.com", Proxy: "someproxy2.com"}.Do()
// I think this last request is going to use the proxy from the first one as this line only asks for nil proxyTransport but doesn't checks if the URL are the same or not
```