Hyper-V: Skip logging out in-use targets

As most of the Cinder volume drivers that use iSCSI export one LUN
per iSCSI target, the Hyper-V driver was logging out the according
target each time a volume was disconnected.

This causes issues with some volume drivers that use multiple LUNs
per iSCSI target and may disconnect in-use targets.

This patch fixes the issue by checking if there are other LUNs
being used, disconnecting the iSCSI targets otherwise.

Change-Id: Ida08e7129a7b7940ddea488488cccc7571a43b76
Closes-Bug: #1372815
Make console show and delete exception msg better

Console API show and delete didn't give info about
the detailed fail information, this patch adds it.

Change-Id: Icc4ed506590b4f3d2f85160a19ae3b70d8cdf1ab
VMware: trivial fix for comment

The patch makes a few minor changes to a comment that was added in
commit I7598afbf0dc3c527471af34224003d28e64daaff

TrivialFix

Change-Id: Ic12b0b17aac6f745e62bade37204af516e50df0d
Use six.text_type instead of unicode

According to 6683905b532b6030989064636aa5506d4cbe5b22 ,
we shouldn't use unicode in an exception message.

Change-Id: I377f0cf7b8a66026491b75e89b470a328670f17a
Updated from global requirements

Change-Id: I0f3cb3023952f889650c3ebbd0fb6aee5861898d
Merge "VMware: trivial fix for comment"
Merge "Use six.text_type instead of unicode"
Merge "Hyper-V: Skip logging out in-use targets"
Merge "Updated from global requirements"
Add tox -e functional

Provide a tox -e functional stub, as a place for functional tests to
migrate to. This will allow us to write a zuul test configuration for this
environment.

Part of bp:functional-tests-for-nova

Change-Id: I8a1107beab151f9bf574cfbae1d4dc18400fd74e
move all tests to nova/tests/unit

As part of the split of functional and unit tests we need to isolate
the unit tests into a separate directory for having multiple test
targets in a sane way.

Part of bp:functional-tests-for-nova

Change-Id: Id42ba373c1bda6a312b673ab2b489ca56da8c628
Merge "Make console show and delete exception msg better"
Only load necessary instance info for use in sync power state

During sync power state, instance is refreshed from the db. If the
instance gets deleted, this can result in InstanceInfoCacheNotFound
being thrown due to info_cache being loaded and therefore refreshed.

Sync power state does not make use of any extra instance attrs, so
this problem can be avoided by not loading any extra attrs in the
first place.

Two callers of _sync_instance_power_state() are updated to not load
extra attrs. 1) The periodic sync and 2) the lifecycle event handler.

Change-Id: I150bd95da65263981608dd9a033232bd142e737f
Closes-Bug: #1367845