Backend support for templates with sockets, cores, and threads

In order to allow a guest to use SMT/hyperthreading, we should
enable passing in of the sockets, cores, and threads values when
creating a template.

All three values must be specified, as per the topology descr at
http://libvirt.org/formatdomain.html#elementsCPU

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
cpu_info tests for model and mockmodel

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
Translations for new cpu_info messages

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