Allow user to specify image to use during rescue - V3 API changes

This commit includes the V3 changes.
Making changes in V3 API to take an extra parameter rescue_image_ref
as part of the rescue action API.
If specified, this image_ref will be used to rescue the instance.
If the image is not specified, then the base image ref is used by
default.

Partially Implements: blueprint allow-image-to-be-specified-during-rescue

DocImpact

Change-Id: I7a9d88bf4dfe73879247f5b82a52928fdde76510
libvirt: return the correct instance path while cleanup_resize

If we resized a pre-grizzly instance with grizzly or later nova
to another host, while the resize confirmation process,
_cleanup_resize will find the instance resize backup dir and
delete it, but a wrong xxx_resize dir like ${uuid}_resize,
instead of the correct ${name}_resize will be found.
This is because the instance is a resized one which original
instance dir exists on another host(the dest host),
get_instance_path method could not find the original instance
dir on the source host, so the path with uuid will be returned,
and the `target` existing check in _cleanup_resize is failed,
then the ${name}_resize dir will never be deleted.

Closes-bug: #1290294
Change-Id: I904b6751dec740e001f5ec29f637ef456528746f
libvirt: Remove use of db for flavor extra specs in tests

The watchdog tests were using the, now discouraged, approach of calling
db.flavor_extra_specs_update_or_create to set flavour extra specs for
the test case. Rewrite the test cases to mock the Flavor.get_by_id
method to return a fake flavor object.

Change-Id: I92b45762a8f079b0e7bef7f9daf4cf5ada78896f
Deprecate glance_* configuration settings

Create a new section in the configuration file called 'glance'.
Move all of the glance_* configuration settings to this section.

DocImpact

The table below has the changes:

+---------------------------------+----------------------------+
| 'DEFAULT' Section               | 'glance' Section           |
|---------------------------------|----------------------------|
| glance_host                     | host                       |
| glance_port                     | port                       |
| glance_protocol                 | protocol                   |
| glance_api_servers              | api_servers                |
| glance_api_insecure             | api_insecure               |
| glance_num_retries              | num_retries                |
| allowed_direct_url_schemes      | allowed_direct_url_schemes |
+---------------------------------+----------------------------+

UpgradeImpact
The changes are backward compatible.

Change-Id: I829cf006f7e7c53a36f5e12b40f60f875fe8f331
wrap_instance_event() shouldn't swallow return codes

The wrap_instance_event() function, when used as a decorator,
will currently swallow return codes.  This prevents it from
being used on a function that returns a value that the caller
actually cares about.

Change-Id: I72616b0afcd3ab8fae81742bf4b7754cd959ef3a
Closes-Bug: 1311793
Merge "Deprecate glance_* configuration settings"
Merge "wrap_instance_event() shouldn't swallow return codes"
Merge "libvirt: Remove use of db for flavor extra specs in tests"
Merge "libvirt: return the correct instance path while cleanup_resize"
Merge "Allow user to specify image to use during rescue - V3 API changes"