handle GET redirects over HTTP

replace #8474
Can you just use this for both because if you look at the code for `DialTimeout` there is little difference.

http://golang.org/src/pkg/net/dial.go?s=4394:4472#L139