844532: xen dom0 cpu topology lies, work around it

The cpu topology information reported by a machine
running a xen dom0 kernel is wrong. It incorrectly
reports each cpu thread has having it's own socket.

A system with 2 sockets, with 2 cores each, will
get reported as having 4 sockets, with 1 core
each.

To attempt to work around these cases, if we detect
we are a xen dom0, we replace the incorrect cpu
socket information with infomation gathered from
the dmi info. The dmi info is often wrong, but
hopefully it is better for these cases.

Also, add support for looking for a dump of
dmidecode information when ran against a test
tree of hardware infomation.