Implement volume quota support in the cinderclient

  * fix for bug 1023311
  * Implements quota extensions in cinderclient
  * Implements absolute limits and rate limits

Change-Id: I7e3f8474476cbc03efb2fefcb8400f5fec85ddcb
Fixes bug 1045777.

Removed conversion from name to ID, now volume type is properly passed
to Cinder.

Change-Id: Idd83af7a5ace58cb062545be221f93db0805438b
Add filter options to list and snapshot-list

Change-Id: I9a8b538ad53960700ae7a57d1ceb09b05e3dc468
Add begin_detaching and roll_detaching functions

Fixes bug #1004382

If nova call nova.volume.cinder.API.begin_detaching and
nova.volume.cinder.API.roll_detaching, it need python_cinderclient
support the functions.

Change-Id: If5d00a7f7991d78243e76a6e22031c185caee80a
add tenant_id and make projectid optional

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
Patch for bug #1004382

Related  change is If5d00a7f7991d78243e76a6e22031c185caee80a

Add new action in tests.v1.fakes.FakeHTTPClient, so it allow to test
os-begin_detaching and os-roll_detaching.
Fix typo in tests/v1/test_volumes.py.

Change-Id: I5c4cd9cc56a7235036b6bab6641554b5919ffbb6
Merge "Add filter options to list and snapshot-list"
Merge "add tenant_id and make projectid optional"
Merge "Implement volume quota support in the cinderclient"
Merge "Fixes bug 1045777."
Merge "Patch for bug #1004382"
Remove unused methods in FakeHTTPClient and unused unittests

Removed unittests:

tests/v1/test_limits.py

Modified methods:

get_os_quota_sets_test
get_os_quota_sets_test_defaults
put_os_quota_sets_test
get_os_quota_class_sets_test
put_os_quota_class_sets_test

Removed methods:

get_limits
post_servers
get_servers_1234
get_servers_5678
put_servers_1234
delete_servers_1234
delete_servers_1234_metadata_test_key
delete_servers_1234_metadata_key1
delete_servers_1234_metadata_key2
post_servers_1234_metadata
get_servers_1234_diagnostics
get_servers_1234_actions
get_servers_1234_ips
get_servers_1234_ips_public
get_servers_1234_ips_private
delete_servers_1234_ips_public_1_2_3_4
post_servers_1234_action
get_os_cloudpipe
post_os_cloudpipe
get_flavors
get_flavors_detail
get_flavors_1
get_flavors_2
get_flavors_3
delete_flavors_flavordelete
post_flavors
get_os_floating_ip_pools
get_os_floating_ips
get_os_floating_ips_1
post_os_floating_ips
post_os_floating_ips
delete_os_floating_ips_1
get_os_floating_ip_dns
get_os_floating_ip_dns_testdomain_entries
get_os_floating_ip_dns_testdomain_entries_testname
put_os_floating_ip_dns_testdomain
put_os_floating_ip_dns_testdomain_entries_testname
delete_os_floating_ip_dns_testdomain
delete_os_floating_ip_dns_testdomain_entries_testname
get_images
get_images_detail
get_images_1
get_images_2
post_images
post_images_1_metadata
delete_images_1
delete_images_1_metadata_test_key
get_os_keypairs
delete_os_keypairs_test
post_os_keypairs
get_servers_1234_os_virtual_interfaces
get_os_security_groups
get_os_security_groups_1
delete_os_security_groups_1
post_os_security_groups
get_os_security_group_rules
delete_os_security_group_rules_1
post_os_security_group_rules
get_os_simple_tenant_usage
get_os_simple_tenant_usage_tenantfoo
get_os_certificates_root
post_os_certificates
get_os_aggregates
_return_aggregate
get_os_aggregates_1
post_os_aggregates
put_os_aggregates_1
put_os_aggregates_2
post_os_aggregates_1_action
post_os_aggregates_2_action
delete_os_aggregates_1
get_os_hosts_host
get_os_hosts_sample_host
put_os_hosts_sample_host_1
put_os_hosts_sample_host_2
put_os_hosts_sample_host_3
get_os_hosts_sample_host_startup
get_os_hosts_sample_host_reboot
get_os_hosts_sample_host_shutdown
put_os_hosts_sample_host

Change-Id: I0207a558edbfae8f5e69913c421c31e35fefcf4c
Fix some pep8 issues.

Replace a few '== None' comparisons with 'if None' to fix
E711 pep8 failures in test suite.

Change-Id: Ibce88b74cd19233820f9b00a4eacdabff6c71a6b
Show volume and snapshot data on create

cinder create and cinder snapshot-create do not display the data
returned from the api. This makes it difficult to find the id of
of the newly created object.

Fixes bug 1053432

Change-Id: I1defafff3fd08f9b3510f70a455d49d470322d82