client: return timeout error for gateway timeout

So discovery could trigger its retry logic for gateway timeout too.
`ErrTimeout` is `context.DeadlineExceeded`; I don't think this should necessarily be conflated with a gateway timeout.