Add nova client support for nova-manage agent command

This add four CLI (agent-list/agent-create/agent-delete/agent-modify)
in nova-client

so we can use:
'nova agent-list' like 'nova-manage agent list' with one optional
parameter. Show a list of all agent-builds. Filter by hypervisor.
The difference between the two commands is that 'nova agent-list'
will display the id of the agent build, 'nova-manage agent list'
will not.

'nova agent-create' like 'nova-manage agent create'. It will create
a agent build.

'nova agent-delete id' will delete the agent-build with specific id.

'nova agent-modfiy' will update the version, url, md5hash of the agent
build with specific id.

This patch depends on https://review.openstack.org/#/c/15831/
Implements one workitem of blueprint apis-for-nova-manage

Change-Id: Ic7589077d130efa5abc77252bd79addcaea483c8
Add optional argument to include reservations in os-used-limits

Fixes bug #1089271

Change-Id: I01a3823a4f4b1045e4f8e35f749fc9233bef4489
Makes the OS_NO_CACHE env variable work again

The commit to replace --os-no-cache with --os-no-cache works fine
with the cli options, but the env variable is stored in os_cache
which has the opposite of the intended effect. This patch converts
the variable to a bool and then inverts it before it stores it
in os_cache. This makes it work properly again.

Fixes bug 1089696

Change-Id: Iea12806603ecdc39c6475ad4d6f867ebb1e01633
Merge "Makes the OS_NO_CACHE env variable work again"
Merge "Add nova client support for nova-manage agent command"
Merge "Add optional argument to include reservations in os-used-limits"
Specify some arguments by name.

'nova boot', 'nova flavor-key', 'nova flavor-show' and the other subcommands
can be specified by a flavor name also.
But 'nova flavor-delete' and 'nova list --flavor' cannot, also 'nova list
--image' cannot be specified by a image name.
I feel it is user-friendly that a user can specify arguments by name.

By this patch, a user can do it like the following.

Before appying this patch:
 $ nova flavor-delete m1.tiny
 ERROR: Flavor m1.tiny could not be found. (HTTP 404) (Request-ID: req-af2c049f-1b77-42cf-a9ed-a3914626bc83)
 $
 $ nova list --flavor m1.tiny
 ERROR: Flavor could not be found (HTTP 422) (Request-ID: req-dbfd5df2-77d7-4a71-a3e6-b1f7fd25b96c)
 $
 $ nova list --image cirros-0.3.0-x86_64-uec

 $

After appying this patch:
 $ nova flavor-delete m1.tiny
 $
 $ nova list --flavor m1.tiny
 +--------------------------------------+--------+--------+------------------+
 | ID                                   | Name   | Status | Networks         |
 +--------------------------------------+--------+--------+------------------+
 | 2f003e0e-bfdf-4f56-bdf9-276732e640a0 | test01 | ACTIVE | private=10.0.0.2 |
 +--------------------------------------+--------+--------+------------------+
 $
 $ nova list --image cirros-0.3.0-x86_64-uec
 +--------------------------------------+--------+--------+------------------+
 | ID                                   | Name   | Status | Networks         |
 +--------------------------------------+--------+--------+------------------+
 | 2f003e0e-bfdf-4f56-bdf9-276732e640a0 | test01 | ACTIVE | private=10.0.0.2 |
 +--------------------------------------+--------+--------+------------------+
 $

Fixes bug 1091814

Change-Id: Ic7f6ce76608a448dea3c151bc349391fbf3fa456
Add support for the coverage extension.

This adds support for the coverage extension and also adds 3
CLI commands to interact with coverage:

nova coverage-start

nova coverage-stop

nova coverage-report

'nova coverage-report' has a required '--filename' argument
which gives the filename for the generated report files.

Change-Id: I9cb002b0e32cfe5572878d2c8436270663c0ae96
Make --tenant a required arg for quota-show

Fixes LP 1088519

Previously, novaclient was incorrectly defaulting to the tenant name
as the tenant ID when retrieving quota thresholds via the os-quota-sets
API extension, in an apparent attempt to default to the current tenant
if no specific tenant is explicitly requested.

As a result, the default quotas were always returned, regardless of
whether there were specific overridden quotas for this tenant.

We now require that the --tenant option is always specified for the
quota-show verb, as a sensible default isn't always possible
(because the tenant ID may be opaque to the client, for example when
the auth token is cached in the keyring from a previous call out to
keystone - now the tenant ID is of course generally embedded in the
nova publicURL retrieved from the service catalog, but that is not
guaranteed to be the case, i.e. I don't think we can safely make
assumptions about that URL format).

This change also makes the quota-show verb more consistent with the
quota-update verb, which currently requires that the tenant is
always explicitly specified.

Change-Id: I1706ad993059e70ca0e2f3bcf7b1d06cbcc39f2d
Fix find for alphanumeic flavor id/name

Fixes LP bug #1089299

Change-Id: Ia9cc756b85096532acfc9ecacd1330de8a765fba
Merge "Add support for the coverage extension."
Merge "Fix find for alphanumeic flavor id/name"
Merge "Specify some arguments by name."