Add the NUMATopologyFilter

This patch adds the basic NUMA filter that will take the proposed
instance topology and try to match it against that of a host.

The matching will be done in the following manner:

 * Filter will try to match the exact NUMA cells of the instance to those
   of the host. It *will not* attempt to pack the instance onto the host.
 * It will consider the standard over-subscription limits for each cell,
   and provide limits to the compute host accordingly.
 * If instance has no topology defined, it will be considered for any host.
 * If instance has a topology defined, it will be considered only for NUMA
   capable hosts.

DocImpact

Change-Id: I8788dde69524c8a32a41ce31a96c89f9b09e91ce
Blueprint: virt-driver-numa-placement
Merge "Add the NUMATopologyFilter"