Bind userinfo with Authorization header

Fixes #29

A change in userinfo should be reflected in Authorization header, a
change in Authorization header should be refleted in userinfo.

This was not easy because of the complex dependecies between requests's
methods, in the end I resolved with an hack to avoid an infinite
recursion when build_uri (a change in Authorization header will change
userinfo that will change the uri that needs to be rebuilded)

A major refactoring is needed to keep the request habitable