add ability to override http.Client used by goes

Currently there is no way to modify certain basic http-related settings - most importantly timeouts. This is a very small patch that allows the user to override what instance of `http.Client` is used by `Request.Run`. I added it as a method to preserve backwards compatibility of the constructor. The default behavior is equivalent.