Fix oauth1 encoding

OAuth 1 encodes special characters in addition to those encoded by RFC 3986 (via JavaScript's encodeURIComponent method). This patch ensures that these characters are encoded. The problem was uncovered when trying to send address information to Yahoo that included an apostrophe. The result was an error indicating an invalid oauth signature.

See this other oauth implementation as a comparison:
https://github.com/ciaranj/node-oauth/blob/master/lib/oauth.js