Discover should support other services

Most services don't provide a 'values' element for their version
definitions, however are otherwise similar. Discovery should allow that
case and continue on otherwise.

Change-Id: I878377a779da5c96c47603842c024059920423fd
Fix passing get_token kwargs to get_access

get_token takes kwargs so that a different plugin implementation might
make use of them. It is not expected that token arguments would be
passed to the code that is doing the token fetching.

Change-Id: I28aa2b8070feec76f225601069c92c535334f4d4
Start using positional decorator

Apply the positional decorator to functions. It has been added as I
think best practice would dictate, though in some places it has been
added in a way that doesn't break existing tests.

Closes-Bug: #1295881
Change-Id: I4f7ddbede4cba4ab79d144ad1f9dc83ea76f204a
sanity check memcached availability before running tests against it

Change-Id: I40fff70cbf395e7fe42530155074f75dd116034c
Closes-Bug: 1296794
Add a method for changing a user's password in v3

The new Identity API v3 resource for changing a user's password in
keystone can be utilized with:

  c.users.update_password(old_password, new_password)

Change-Id: Ia887d853140a18ba75d6eb1bfde4ce2d64b7af60
Closes-Bug: 1239757
Co-Authored-By: Dolph Mathews <dolph.mathews@gmail.com>
DocImpact
Handle URLs via the session and auth_plugins

In the future clients will simply pass the service they expect to talk
to and the path. This will prevent every service trying to get their own
base urls from the service catalog individually.

This can later be extended to have the auth plugin actually contact the
URL from the service catalog which will let us have unversioned
endpoints in the catalog handled from a single location.

Change-Id: I80f0b5b1dbb45565fec09d1cb2c0552cfb9a72f5
blueprint: auth-plugin-endpoints
Improve language in update_password() validation error

Change-Id: I728af11c6d652c2937e6da80b96a5c3f337bae76
Related-Bug: 1239757
Merge "Start using positional decorator"
Merge "Fix passing get_token kwargs to get_access"
Merge "Add a method for changing a user's password in v3"
Merge "Handle URLs via the session and auth_plugins"
Merge "sanity check memcached availability before running tests against it"
Merge "Improve language in update_password() validation error"
Merge "Discover should support other services"