Trust but verify 'scutil' to return ComputerName

Apparently, it is possible to set up a Mac such that
`scutil --get ComputerName` hasn't been set.

This change checks if that fails and falls back to the original mechanism.

Closes #2155
Closes #2183
There are three reasons to continue to use `$HOST`:

1. Even if `$OSTYPE` equals `darwin*` that doesn't mean they are running a full OS X environment (e.g. just running the darwin kernel on a bsd or gnu system).  `hostname -s` doesn't work on all unixes.
2. `$HOST` is faster since it doesn't have to fork/exec.
3. It matches what happens on non-OSX systems.