Allow passing None for username in v2.Password

None must be an acceptable parameter for username in password due to
tests in other libraries, however we should still raise an error if
neither username or user_id is passed. Use and check a sentinel value
instead of None.

Change-Id: Id61cfd1423afa8f9dd964fda278f4fab40887512
Closes-Bug: #1361444
Version independent plugins

A Framework for creating plugins that work across identity versions.
Upon creating a generic plugin the plugin will go and discover what
versions are available on the server and then attemp to construct a
suitable plugin.

Blueprint: version-independant-plugins
Change-Id: If7fed94aaf4636e80a9c3a834cf6c5430f20e489
fix typos

Change-Id: Ia850e62fe4c888365f5031cc8b7c7ad526600222
Merge "Allow passing None for username in v2.Password"
Merge "Version independent plugins"
Merge "fix typos"