Correctly reject request to add lists of hosts to an aggregate

Attempting to add or remove a list of hosts to an aggregate
results in an internal server error. This patch fixes the input
validation so such a request is correctly rejected and a 400
error returned.

Change-Id: I760db36d685cff20b01a72160b8b3fbb8a70b412
Closes-Bug: #1321653
Add extensible resources to resource tracker

A resource plugin extension point is added to the resource
tracker to allow the types of resources allocated at the compute
node to be extensible. Information maintained by these plug-ins
is written to the compute_nodes table in the database. The
scheduler uses the information in the compute_nodes table to
determine scheduling decisions.

A plugin that implements vcpu resource tracking is included
and all other code for tracking vcpu has been removed. This
example ensures the plugins are tested in gate jobs.

Co-Authored-By: Andrea Rosa  <andrea.rosa@hp.com>
Co-Authored-By: Paul Murray  <pmurray@hp.com>
This is part of: blueprint extensible-resource-tracking

Change-Id: I64108338e3c958ba1276aaf113a68861cbe286f5
Merge "Correctly reject request to add lists of hosts to an aggregate"
Merge "Add extensible resources to resource tracker"