This is a new version of D9384, updated with jhb's suggestion and patch against
the new location of hostid file.
Proposed commit message:
Only try to retrieve UUID from SMBIOS on x86 machines This prevents an useless warning message on non-x86 machines. Also rename hostid_hardware() to hostid_smbios() to reflect what it actually does. In the future we may introduce more hostid_foo functions to obtain UUID from firmware on other platforms. Original work by: linimon