UI: CPU Topology

Signed-off-by: Yu Xin Huo <huoyuxin@linux.vnet.ibm.com>
Parts to allow Kimchi to configure the cpu topology.

This patch adds a host/cpuinfo API so that the topology can be
retrieved and then used as a guideline for what is legal
for this system.

The original plan for this function was to abstract everything
away from users, but over many iterations, it became clear that
due to differences in architectures, etc., it is simpler to ask
a user to input cores and threads for a VM, with minimal
restrictions on threads/core and cores.

As a result, the final version of the patch for the backend
contains only a small amount of validation for new templates.

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
Mockmodel test for cpuinfo

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>