add ohai[:machinename]

this is an ohai 7 attribute that == the output of /bin/hostname

- if the FQDN exists we still prefer that, but requires correct DNS
- if the machinename exists then we use that, but requires ohai 7
- then we default to the hostname which should exist on ohai 6,
  (but sometimes doesn't on some distros?)

machinename should always be set on ohai 7, so we should entirely stop
seeing CannotDetermineNodeName after it rolls out.
add specs for setting nodename based on machinename
move exception message into object
Merge pull request #1216 from opscode/lcg/add-machinename

add ohai[:machinename]