Add support for ImgUr API version 3.

ImgUr API version 3 using OAuth 2.0 and have differnt way to get
access token and sign request.

Main differences:

  - When getting authorization URL, we need to pass different
    grant_typ parameter according to whether we have callback URL.

  - ImgUr API version 3 using POST to get access token, all
    parameters need to passed as body paramter, query string will
    not work.

  - ImgUr API using HTTP header to sign request, so we created
    OAuthImgUr3Impl in order to handle this.