VMware image clone strategy settings and overrides

The VMwareAPI driver code currently spawns all virtual machines
copying the disks using a linked-clone strategy by default.
The VMwareAPI also offers a "full clone" strategy. This patch
makes the following changes and improvements.

* allow images to specify if they are "linked_clone" or not.

For technical discussion on the clone strategies and their trade-offs
see: https://www.vmware.com/support/ws5/doc/ws_clone_typeofclone.html

DocImpact: vmware_linked_clone metadata controls image-clone-strategy
Change-Id: I7a7ad57708202c8e8af5551b92a1e734185125f4
Blueprint: vmware-image-clone-strategy
VMware: fix driver support for hypervisor uptime

This method was previously not implemented and would throw an exception
with the tempest tests. It will now redirect the administrator to access
the host to het the uptime.

Fixes bug 1199946

Change-Id: I073f50fee6aa76e912753c0754d632ff2adfa287
Get image properties instead of the whole image

When booting an instance using the new BDMv2 API we can specify to boot
from a volume created from an image on the fly. In this case the API
should pass the image properties to the new instance so it can get some
important parameters that it might specify.

After adding the new BDMv2 API in 13180f76, we introduced a mistake in
the method that gets the image properties (from the boot BDM) if no
image_ref is defined. When the source is an image it will return the
whole image metadata instead of getting just the properties. This
causes that when the source image is an AMI the instance won't have the
ramdisk and kernel properties set and will fail to boot.

This patch fixes the image properties when booting from a volume created
from an image.

Fixes bug #1220318

Change-Id: Ibcd60510cc909fcaa0d6d4769f91c070dfaf22ff
Add missing notifications for rescue/unrescue

The rescue and unrescue operations are missing start/end notifications for
the operation. Most Nova instance operations emit
compute.instance.<operation>.start/end notifications, which external systems
can use to track changes in the state on an instance (e.g. for billing
purposes). Rescues change launched_at for the instance, which can prevent an
external system from having a consistant picture of the instances' running,
unless they take that into account.

Change-Id: I3d7d334c88953ddf693c864c3e5e0746cdd2056c
Closes-bug: 1224088
Merge "VMware image clone strategy settings and overrides"
Merge "Add missing notifications for rescue/unrescue"
Update requirements not to boto 2.13.0

Latest boto 2.13.0 has a bug which lead to unit tests fails, before
it's fixed avoid use this version.

Fix bug #1224832

Change-Id: I8a81adfc0cb0ad37d27b11db3c881735a099a95c
Merge "Get image properties instead of the whole image"
Merge "VMware: fix driver support for hypervisor uptime"
Update Nova to allow using either Glance V1 or V2 API

This involved more than just setting the desired version number
in the image service because the workflow and values aren't
necessarily the same betwee V1 and V2, so a driver layer was
introduced that acts as an adapter between the image service
class and the actual Glance client.

Implements: bp use-glance-v2-api

Change-Id: Ie39cb541139e2bc65d844e17363cb1dc1fa3791e