Provide more data to AuthMethod plugins
Provide more data to AuthMethod plugins

Oauth will need more information from the main authentication object to
do its job and it is foreseeable that other method plugins will need to
do more complex interactions. We should provide at least the session so
these plugins can communicate out and the base auth option so they can
find authentication parameters. We also allow kwargs for future
expansion.

Change-Id: Ieb1c8df4c90729878a7e4c5732e32d7139dd5855

citrix-openstack-build/keystoneauth,jamielennox/keystoneauth,sileht/keystoneauth