1017299: handle dmidecode module not installed

Split dmi info collecting code that uses dmidecode
into it's own module. hwprobe.Hardware will try to
pick the right platform specifc info provider to
use (currently, that's dmiinfo.DmiFirmwareInfoProvider
or a default noop version).

Previously, RHEL included the python-dmidecode on
all platforms, even those without DMI or dmidecode.
The module didn't do anything, but the import would
succeed. We had an unintentional requirement that
the 'dmidecode' module exists everywhere, eventhough
the spec only required it on DMI platforms.

But, previously, rhn-client-tools always required
'dmidecode' on all platforms, so that dep was
usually available. When it was not, we hit
bz#1017299.
Merge pull request #793 from candlepin/alikins/1017299_no_dmidecode

1017299: handle dmidecode module not installed