New package oauth2
* packages/oauth2/oauth2.el: Reformat to avoid long lines.
* packages/oauth2/oauth2.el (oauth2-request-authorization): Add missing
  calls to url-hexify-string.
* oauth2.el: Require json.
  Fix compilation warning with success variable from url.el.
oauth2: allow to use any HTTP request type

* oauth2: allow to use any HTTP request type
oauth2: update version 0.2

* oauth2: update version to 0.2
* packages/oauth2/oauth2.el: Fix URL double escaping, update to 0.3
* packages/oauth2/oauth2.el: Don't use aget, update to 0.4
* packages/oauth2/oauth2.el: Revert fix URL double escaping, update to 0.5
oauth2: add redirect-uri parameter, update to 0.6
oauth2: store access-reponse, bump versino to 0.7
oauth2: upgrade to 0.8, add missing require on cl
oauth2: release 0.9, require url-http

This is needed so that the `flet' calls doesn't restore the overriden
function to an unbound one.

Signed-off-by: Julien Danjou <julien@danjou.info>
* oauth2.el: Only require CL at compile time and avoid flet.
(success): Don't defvar.
(oauth--url-advice, oauth--tokens-need-renew): New dynbind variables.
(url-http-handle-authentication): Add advice.
(oauth2-url-retrieve-synchronously): Use the advice instead of flet.
oauth2.el: Add support for async retrieve.

* packages/oauth2/oauth2.el (oauth--tokens-need-renew): Remove.
  (oauth--token-data): New variable.
  (url-http-handle-authentication): Call `url-retrieve-internal'
  directly instead of depending on `oauth--tokens-need-renew'.
  (oauth2-url-retrieve-synchronously): Call `url-retrieve' once.
  (oauth2-url-retrieve): New function.

Signed-off-by: Rüdiger Sonderfeld <ruediger@c-plusplus.de>
Signed-off-by: Julien Danjou <julien@danjou.info>