Add a new optional tenant_id keyword argument to the client classes
cinderclient.client.HTTPClient and cinderclient.v1.client.Client to
support authentication with tenant_id instead of projectid (which is
acctually used as "tenantName" in the auth request body).
Keystone can provide tokens without specifiying the tenant in any form,
but a tenantName _or_ tenantId is required to generate the catalog (the
keystone service code seems to prefer tenantName if both are specified).
When using cinderclient programatically, it may be more convienent,
depending on the context to authenticate with out specificying the
tenant, or by tenant_id instead of tenant_name. Either way it's
impractial to make the requirement in the client for projectid
(tenantName) if the auth system has no such limitation.
The new client signature is backwards compatible. There is no change in
behavior for the shell client.
Change-Id: I0c1bdbdabd9acc29133a48a798750323011f1f18