(18430) Don't run dmidecode if we're not able to read from /dev/mem

As outlined in [PR 488](https://github.com/puppetlabs/facter/pull/488) dmidecode may fail to open /dev/mem and print a warning upon every facter run. @adrienthebo suggested implementing a check to see if we can actually read from /dev/mem before attempting to run dmidecode.

Here's the patch which does that (and fix a typo in a comment while here).