Extends V3 os-hypervisor api for pci support

All pci passthrough code is merged into nova, but the APIs do not support.
this patch extends os-hypervisor to show PCI information for instance and
compute node. This is a part of PCI APIs, for more information see the
blueprint.

Partially implement blueprint pci-api-support

Change-Id: Ia366df257f077c74b1a6639b7078ba4230d3f1a7
Use oslo.rootwrap library instead of local copy

Remove rootwrap code copied from oslo-incubator, make the
nova-rootwrap console_script entrypoint point to oslo.rootwrap
code instead.

Change-Id: Iec7aaf2e1599b2faf403d11b779eeab199a89486
Implements: blueprint nova-oslo-rootwrap
Merge "Extends V3 os-hypervisor api for pci support"
Join pci_devices when getting all servers in API

The PCI API extension goes back and hits the database for every instance
when getting a list of all instances through the API.  This is causing
problems in testing because it's possible for the instance to be deleted
in between getting the initial list and when the API extension runs.

The API extension really shouldn't be going back to hit the database
anyway, so this patch will resolve that problem.

Change-Id: Id3c8a0b187e399ce2acecd4aaa37ac95e731d46c
Closes-bug: #1270680
Merge "Use oslo.rootwrap library instead of local copy"
SQLAlchemy error patterns improved

SQLite has new error messages since 3.7.16.
DBDuplicateEntry is now recognized correctly.

Change-Id: I86e9673ac409b3b3e881bea7cb8b3516f320388d
Fixes: bug #1259915
Add consoleauth DB objects

Change-Id: I2ca7b8b7a671c1edeeec6bc85fea85a5b9bfd514
aa

Change-Id: I911d1b9a08324f572fc32c4971c4d5a1e6cacb5d