mikeal/request — pull request #612 by hyjin (2013-09-09 05:26:54+00:00)
Title: Wrong oauth signature when multiple same param keys exist

According to http://tools.ietf.org/html/rfc5849#section-3.4.1.3.2,
when normalizing parameters to calculate base string for oauth signature,
oauth client should handle multiple pareters with same key name.

For example: (quotes from RFC5849)
when build base string for following request,
```
POST /request?b5=%3D%253D&a3=a&c%40=&a2=r%20b HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth realm="Example",
oauth_consumer_key="9djdj82h48djs9d2",
oauth_token="kkk9d7dh3k39sjv7",
oauth_signature_method="HMAC-SHA1",
oauth_timestamp="137131201",
oauth_nonce="7d8f3e4a",
oauth_signature="djosJKDKJSD8743243%2Fjdk33klY%3D"

c2&a3=2+q
```
client should include two 'a3' param keys(in query string and in body) and its values.

Currently request can't do this because it builds a parameter map as object and pass it to oauth-sign.

For your information, http://oauth.googlecode.com/svn/code/javascript/oauth.js builds a parameter map as array of [key, value].