Add more input validation of bdm param in server creation

Adds a check to ensure that block_device_mapping is a list and
return 400 Bad Request rather than 500 as currently happens.

Change-Id: I30551bcbb7d658734da158dbb8dd7d825c526896
Closes-Bug: 1379973
libvirt: remove pointless HostState class

Now that the get_host_stats method is removed, the only user
of the HostState class passes 'refresh=True' every time. Given
this, there is no point in caching the data in the HostState
class. Instead just populate the data directly in the
get_available_resources method.

Blueprint: virt-driver-get-available-resources-object
Change-Id: I19c391a1bae27c3e8d891ecf77ceeaf170299be3
libvirt: fully parse PCI addresses to integer data type

When parsing node device XML, the PCI addresses were left in their
string form, which is unhelpful for later code wishing to use their
raw values. Fully parse them to the integer form instead.

Blueprint: virt-driver-get-available-resources-object
Change-Id: I46b9c33e08122eb7c28601752ecfc652e09175c3
Revert "Replace outdated oslo-incubator middleware"

This is breaking the Juno -> master grenade path. As we are using the old
api-paste.ini file which requires the oslo-incubator copy of request_id

This breakage didn't happen from Icehouse -> master since the icehouse
api-paste.ini didn't have request_id as a middleware. request_id is only
used as middleware in the V21/V3 API and not the V2 API.

Closes-Bug: #1383757
This reverts commit 641de5666f38532252e91735a1cd2611d96c489a.

Change-Id: I1ca6bddf9d9370529e999efcc7eae60622e19e6f
Merge "Revert "Replace outdated oslo-incubator middleware""
Merge "libvirt: remove pointless HostState class"
Merge "Add more input validation of bdm param in server creation"
Merge "libvirt: fully parse PCI addresses to integer data type"