Support multiple array values in query string

@jonathankart, would you mind having a look at this and merging if all seems ok?

Before, if a hash or query parameter key existed more than once, the last value would win.

Now, it will be converted into an array.

fixes #1