Object-ify APIv2 agents extension

This makes the APIv2 agents extension use the Agent object instead
of direct database access.

Related to blueprint compute-manager-objects-juno

Change-Id: I79d68be5d14c8af0f96164608f6c535530ef6d5e
Object-ify APIv3 agents extension

This converts the APIv3 agents extension to use the Agent object
instead of direct-to-database queries.

Related to blueprint compute-manager-objects-juno

Change-Id: I780c96bc32e7d457f8af73d941894b7d3ba08d98
Resolve import dependency in consoleauth service

If you attempt to access an instance's noVNC console on the
horizon dashboard, an AttributeError is thrown, complaining
about 'module' object having no attribute 'InstanceInfoCache'.
This is because the objects are not registered by the consoleauth
service. This patch fixes this import dependency by registering
all objects so it could be used by the consoleauth service.

Change-Id: I4f9b922a077076b156833590762106d5cd2ad276
Closes-Bug: #1337447
libvirt: convert cpuset XML handling to use set instead of string

The libvirt guest XML config class allowed the cpuset to be
specified as a string. Convert this to use a set() and the
standard CPU set parsing/formatting routines

Blueprint: virt-driver-numa-placement
Blueprint: virt-driver-cpu-pinning
Change-Id: Ice69de4dd6ce0b52b0eb7b4cbdc4e28d1111f4bf
Make the block device mapping retries configurable

When booting instances passing in block-device and increasing the
volume size, instances can go in to error state if the volume takes
longer to create than the hard code value (max_tries(180)/wait_between(1))
set in nova/compute/manager.py

def _await_block_device_map_created(self,
                                    context,
                                    vol_id,
                                    max_tries=180,
                                    wait_between=1):

To fix this, max_retries/wait_between should be made configurable.
Looking through the different releases, Grizzly was 30, Havana was
60 , IceHouse is 180.

This change adds two configuration options:
a)  `block_device_allocate_retries` which can be set in nova.conf
by the user to configure the number of block device mapping retries.
It defaults to 60 and replaces the max_tries argument in the above method.
b) `block_device_allocate_retries_interval` which allows the user
to specify the time interval between consecutive retries. It defaults to 3
and replaces wait_between argument in the above method.

DocImpact
Closes-Bug: #1332382
Change-Id: I16e4cd1a572bc5c2cd91fc94be85e72f576a8c26
Merge "Resolve import dependency in consoleauth service"
Merge "libvirt: convert cpuset XML handling to use set instead of string"
Merge "Make the block device mapping retries configurable"
Merge "Object-ify APIv2 agents extension"
Merge "Object-ify APIv3 agents extension"