Connection timeouts aren't correctly identified.

Hey so I was having some issues with dial tcp i/o timeout. I took a closer look and it seems like the error that your client returns is a url.Error wrapping a net.OpError. Its seems a little weird but the patch that I put in here seems to work. If you want to test it out just hack your hosts and put in an ip that doesn't have the fw open or the like. I can dig a little deeper here if you need/want. Or try and explain this better. Anyway double check me and let me know if this is appropriate. Love the lib thanks.
fixing test adding coverage and cleaning up error handling
Merge pull request #66 from cruisibesarescondev/patch-1

Connection timeouts aren't correctly identified.