first classes for oauth support
use generics
Add new `OAuthSession`

People may now start cookie based or OAuth session with the CouchDB
server.
During this process, old session names are deprecated for more
meaningful names to reflect the fact that there are now two kind of
sessions (cookie based and OAuth)
First implementation of OAuth sessions