OpenStack Client: Handle New Identity Endpoints

This commit modifies the openstack client to handle new identity
endpoints in the following ways:

1. Identity endpoints published with a valid URL path
(http://example.com/identity) are now parsed correctly.

If the endpoint has a version suffix (http://example.com/identity/v3),
the client will use /identity as the base and /identity/v3 as the
endpoint.

If the endpoint does not have a version suffix, both the base and the
endpoint will be set to /identity and further version discovery will
be done.

2. Version discovery can now handle version IDs other than v2.0 and v3.
If the Identity Service is publishing an ID of v3.8, Gophercloud will
recognize it as a valid result.

Related-PROD: PROD-24705 (PROD:24705)

Change-Id: I994e159d2bfd4f594eb16308a5a5ca76339206e5
2 files changed