Catch NotImplementedError in get_spice_console in v2/v3 API

Currently get_spice_console doesn't catch NotImpelementedError
and it will lead to inaccurate information returned back
to API caller. This patch adds the catch exception routine and
returns a HTTPNotImplemented excpetion.

Closes-Bug: #1279195
Change-Id: I16cb0a83c0e1aa9a041dd21af324a39388ca3bb8
Clean IMAGE_SNAPSHOT_PENDING state on compute manager start up

There is a slim possibility that an instance will make it into the
state IMAGE_SNAPSHOT_PENDING  and get to the compute host just prior
to the stopping/failure of the compute service, this will result
in the instance being stuck in this state after the service resumes
and will prevent further actions on the instace by the user.

This change clears this state on start-up. Worst case it may result
in the request to snapshot being lost which will require the user to
re-request but I think this is preferable to leaving the instance in
a transitional state that the user cannot clear.

Related to blueprint recover-stuck-state

Change-Id: I8a4867f1f96d61e7d614d7d27c91f3d3e46f2400
Typo in the name 'libvirt_snapshot_compression'

Typo was introduced in 1c5048b2d73289283d062066d94cee30e19db717

Change-Id: I79ded4a517072b551280fe487a672bd396c2e44d
libvirt: host specific virtio-rng backend

Users will be able to select an alternative source of entropy on the host,
by providing a path to the alternative device in nova.conf, instead of the
default /dev/random:

    rng_dev_path=/dev/hwrng

DocImpact
Partially implements blueprint libvirt-rng-device
Change-Id: Ibc2d1e9839ae2f5aeca14fbe966e8bc7c4427714
Pass instance object to soft_delete() and get_info()

This makes compute manager pass an instance object to the
virt driver's soft_delete() and get_info method instead of a
dict primitive.

Related to blueprint virt-objects

Change-Id: I52aae532c08596d7a78a3e75f8b0869951fc8991
Make interface attach and detach use objects

This makes the api pass instance objects to interface attach and
detach calls.

Related to blueprint virt-objects
Related to blueprint compute-manager-objects

Change-Id: Iddb21fb5c733b06a7ceba67ae4e48a3bf6e157fb
Document virt driver methods that take Instance objects

This catches the virt driver base class' docstrings up with the
current state of support in manager for passing objects.

Related to blueprint virt-objects

Change-Id: Ifc358b5e513a3194785fa83ffe7660b88de6e10a
Merge "Clean IMAGE_SNAPSHOT_PENDING state on compute manager start up"
Merge "libvirt: host specific virtio-rng backend"
Merge "Pass instance object to soft_delete() and get_info()"
Merge "Make interface attach and detach use objects"
Merge "Document virt driver methods that take Instance objects"
Merge "Typo in the name 'libvirt_snapshot_compression'"
Merge "Catch NotImplementedError in get_spice_console in v2/v3 API"