Add _wrap_db_error() support to Session.commit()

This patch adds _wrap_db_error() to session.commit(),
which has been observed to be a common point of failure for
deadlock exceptions.   In order to achieve this, the
_wrap_db_error() decorator itself also needed to propagate an
existing DBError, as it is the case that SQLAlchemy's
session.commit() calls into the session.flush() method.
Tests are added to exercise both the nesting of _wrap_db_error()
when a flush() inside commit() raises an exception, as well
as when commit() alone raises an exception that the error
is wrapped as expected.

Tests are omitted here as we are relying upon the tests
that were added to the corresponding oslo-incubator code.

Closes-bug: #1370191
Change-Id: I91510a2b864f0c1b73cfae18f271e94334714dce
Adds list_instance_uuids to the Hyper-V driver

In case of large number of servers, the _destroy_evacuated_instances
fails randomly. Implementing list_instance_uuids solves the issue.

Co-Authored-By: Robert Tingirica <rtingirica@cloudbasesolutions.com>
Co-Authored-By: Ionut Balutoiu <ibalutoiu@cloudbasesolutions.com>
Closes-bug: #1291364
(cherry picked from commit 73da55e4ef626283ae58a97c7ad89854ec77daa3)

Conflicts:
	nova/tests/virt/hyperv/test_vmops.py
	nova/tests/virt/hyperv/test_vmutils.py
	nova/tests/virt/hyperv/test_vmutilsv2.py
	nova/virt/hyperv/vmutils.py

Change-Id: I9c58168c012b342bb5dfa0c62a7c39a327f442b3
Fixes a Hyper-V list_instances localization issue

The Hyper-V WMI MSVM_ComputerSystem class Caption property can
have different values on various locales. This patch uses a
different query to avoid any localization issue.

Co-Authored-By: Robert Tingirica <rtingirica@cloudbasesolutions.com>
Closes-Bug: #1296478
(cherry picked from commit a5405fa3532d9dd3d33e848f36cc6530e74e6bb7)

Change-Id: I15103b8edb3ff8934c835826ed00e08593cdeacc
Merge "Add _wrap_db_error() support to Session.commit()" into stable/icehouse
Merge "Adds list_instance_uuids to the Hyper-V driver" into stable/icehouse
Merge "Fixes a Hyper-V list_instances localization issue" into stable/icehouse