Actually respect the server timeout option.

The problem with the way it was structured before is that Net::HTTP instances have their own read timeout of 60s. If you configured server timeout to be longer than that then the inner timeout will fire first and be caught by the rescue handler for `Timeout::Error`, which assumes that the configured server timeout has elapsed.

I ran into this with an app that, for some reason, is taking longer than 60s to respond (slow CI machine?). I had configured both timeout and server timeout to be 600,000s and have a global timeout on the CI server that will just kill anything that takes too long.