Don't clobber request query string when passing params

I'm dealing with an API that requires the same query string key be passed multiple times. Normally Rack will parse the params and the last duplicate pair will win, but you can still parse the query string yourself if necessary. In certain cases in rack-test the query string is rebuilt from the parsed params which loses the duplicate keys altogether. This patch should fix that. Let me know if you have any questions.

Thanks!
I believe, all these conditions are useless and this should have the same effect:
```ruby
uri.query = [uri.query, build_nested_query(params)].compact.join("&")
```