Fix encoding '~'

'~'という文字をパラメータに含むリクエストを送ると、401 Unauthorizedが返ってきます。
https://dev.twitter.com/oauth/overview/percent-encoding-parameters
こちらのページによると、'~'も変換せずに送る必要があるようなので修正しました。
また、`urlEncode`関数周りを簡潔に書き換えています。