add support for server set metadata item

add set_meta_item to the servers python API as specified by the 1.1 API

Change-Id: I01c92cde18656b23b45aedd41c50d3a474d91435
Generate interfaces reference doc

Add gen_ref in conf.py to generate reference doc to avoid maintaining
these boilerplates.

Change-Id: I6683c41d39685dcb7f7a619a36210a987c9e9825
Enable pep8 check for config.py in doc

Directory doc is excluded from pep8 check in tox.ini, since we
modified file doc/source/config.py, we should enable the check.

Change-Id: I057f1e6cb1c5f9a6a07043056078e4475f66f288
Added v3 interfaces in reference doc

Added hosts, agents, flavors and so on into reference doc

Change-Id: I32198a0e65551f6ea3c67b72a8d7c6dff7da9f91
Ensure that the diagnostics are user friendly

In the case when the value is a dictionary or array or longer than
the line then the diagnostics output will automatically wrap around
to ensure that the output is user friendly.

Part of the blueprint v3-diagnostics

Change-Id: Ia158fd99aeb0e6296fb232e881d0f01a13407dfc
Closes-bug: #1266402
Fix tab-completion of --flags under OS X

--flags were not tab-completing under OS X. This was due to the whitespace
collapsing regular expression using the '+' token (meaning one-or-more), which
isn't supported in OS X's version of sed.

Using the more portable '  *' instead of '[  ]+' fixes this.

Additional cleanups

* Remove unecessary embedding of tabs in the file (nova bash-complete doesn't
  emit tabs, so the regular expressions don't have to handle them)

* Restore logic to exclude -h from tab-completion (was lost in last
  tab-completion cleanup)

* Add similar exclude logic for -i

Fixes bug 1266667

Change-Id: I7e1fe8382d9b5295d0bbc1cde2b89550d5a4e21c
Adds quota usage support for the V3 API

Adds the ability to do a detailed query from the
os-quota-sets V3 API extension. This was an interface
added in V3 to allow for the querying of current quota
usage. Adds a shell command quota-usage which
uses this interface to show current quota usage as well
as the limit.

The absolute limits response was removed from
the limits extension in a9e29b7e9fbe14ab42f24802a6d2a457a6317ba3
and so the corresponding novaclient command is also removed.
The "quota-show-usage" command now shows the same information.

Differences between the V2 and V3 API are described here:
https://wiki.openstack.org/wiki/NovaAPIv2tov3

Partially implements blueprint v3-api

Change-Id: I5db72d42120f4ad7a86fbfce20382988f6bbf5d3
Fixes ambiguous cli output between "None" and NoneType

Print hyphen(-) in python client output when attribute value is not
set(NoneType) so that it is distinguishable between "None" string
and NoneType value.

Change-Id: I5ec0f39f13aca45fa95ddb59472c20207c63bf91
Closes-Bug: #1266414
Merge "Fix tab-completion of --flags under OS X"
Merge "Adds quota usage support for the V3 API"
Merge "Generate interfaces reference doc"
Merge "Enable pep8 check for config.py in doc"
Merge "Added v3 interfaces in reference doc"
Merge "Ensure that the diagnostics are user friendly"
shell: refactor boot to use _print_server

In the shell command when we use the command boot, at the end
we use code to print some server information.
We should use the already defined function _print_server.

Change-Id: I133d7706458c71974ba464ab686cf3679a562592
Closes-Bug: #1265534
Remove the coverage extension code

The coverage extension has been removed from Nova V2 API by the
        I07d798129ee277a6f7691c25f88c07a5204c0943
This commit remove the code.

Change-Id: I430a8b17be11bb961dc5b89b2d098f373e0a27fa
Removes use of timeutils.set_time_override

The set_time_override function in timeutils was written as a
helper function to mock utcnow for unittests before 'mock' was
generally used. Now that we have mock and fixture, we no longer
need to use it.

Change-Id: I809825560b0324498010bd93aa1ceef552554375
Partial-Bug: #1266962
Merge "shell: refactor boot to use _print_server"
Merge "add support for server set metadata item"
Merge "Fixes ambiguous cli output between "None" and NoneType"