Fixes Hyper-V dynamic memory issue with vNUMA

vNUMA and dynamic memory are mutually exclusive, so the former
needs to be disabled for instances where dynamic memory is enabled.

Change-Id: Ic730c294ffc89925076688a44adf2594c7f6712b
Closes-Bug: #1305897
Port fixed_ip extention to v2.1

This patch ports fixed_ip extention from v2 to v2.1,
and have v2 unit test cases shared between v2.1 and v2.

Partially implements blueprint v2-on-v3-api
Change-Id: Ifa7e0dd5a91cfe881077b92aeb7019d0435d780a
Make pci_requests a proper field on Instance object

When we added the pci_requests object, we didn't plumb it all the way into the
Instance object because of time constraints. This finishes that work so that it
behaves properly and doesn't require an additional DB lookup every time we need to
pull it based on an instance.

Partial-Bug: #1368260
Change-Id: I134441c8288d5dbdc0bac6163cb2affc9f0af762
Remove use of unicode on exceptions

Casting exceptions to unicode using unicode() can interfere
with the proper translation of the exception message.  This
is especially true when lazy translation is enabled, since it
causes the exception message to be translated immediately using
the default locale.

This is the same problem caused by using str on exceptions,
which was fixed by https://review.openstack.org/#/c/116054/

In addition to fixing these cases, this patch updates
hacking check N325, which checks for the use of str() on
exceptions, to also check for the use of unicode().

In order to make it clear which cases that cannot be caught
by the hacking check have been inspected, they have been
converted to using six.text_type() instead of unicode().

Closes-bug: #1380806
Change-Id: I87bb94fa76458e028beba28d092320057b53f70a
Merge "Remove use of unicode on exceptions"
Merge "Port fixed_ip extention to v2.1"
Merge "Fixes Hyper-V dynamic memory issue with vNUMA"
Merge "Make pci_requests a proper field on Instance object"