Fixes Hyper-V volume discovery exception message

On some editions of Windows / Hyper-V server the SAN policy is set
by default to "Online All", bringing online any disk, local or shared,
attached to the host.

Since only offline disks can be attached as passthrough disks to a Hyper-V
VM, this prevents Cinder volumes from being attached to instances,
resulting in an exception that can be particularly hard to troubleshoot
without a clear knowledge of the context.

This patch includes some details in the exception message for
troubleshooting purposes.

Change-Id: I6d0b49812f8ca965ca53be34ef009997c8e79728
Closes-Bug: #1361419
Re-revert "libvirt: add version cap tied to gate CI testing"

In the following commit the 'version_cap' concept was
reverted in driver.py:

  commit 5dea55785a52b7edb383cf61fab2f65f2ae79a72
  Author: Sean Dague <sean@dague.net>
  Date:   Wed Jul 30 18:57:34 2014 +0000

    Revert "libvirt: add version cap tied to gate CI testing"

Unfortunately, due to a rebase error, when the version checking
code was moved into host.py, the version_cap was re-introduced:

  commit 069ad9a5b4b2cc9b49b21b09b0667909886961cf
  Author: Daniel P. Berrange <berrange@redhat.com>
  Date:   Fri Jul 4 15:12:38 2014 +0100

    libvirt: introduce new 'Host' class to manage the connection

This change reverts it once more

Change-Id: Icf4b2fff1c87d006c9827e5d27b1124e24255c0a
Bump major version of Scheduler RPC API to 4.0

Since Juno, the below deprecated methods were removed from the RPC client:
 - schedule_run_instance
 - prep_resize

Now that we're in Kilo, we only need to care about changes in between 3.0 and
4.0, and there is only one backwards compatibility to leave about flavors.

NOTE : instance_uuids can now be removed from request_spec but it will be
done in a separate commit.

Partially-Implements blueprint request-spec-object

Change-Id: I42d85407f5a98c22607536446f2defec6a994cbc
Replace stubs with mocks

This change updates the test cases for volume encryptors to use mocks
rather than stubs. The impetus for this change is comments on another
change (https://review.openstack.org/#/c/124791) that request new
tests to be written using mock. Mixing stubs and mocks would be
confusing so this change removes the existing stubs entirely.

Change-Id: I99ff78edcae5eaccabf4ea4caf04b8406ffa2f80
Merge "Fixes Hyper-V volume discovery exception message"
Merge "Replace stubs with mocks"
Remove duplicated constant DISK_TYPE_THIN

Change-Id: Id6d3501e3c8b8cbd392fb533bcfcae288224dcc4
Merge "Re-revert "libvirt: add version cap tied to gate CI testing""
Merge "Remove duplicated constant DISK_TYPE_THIN"
Merge "Bump major version of Scheduler RPC API to 4.0"