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
Merge pull request #2743 from docwhat/issue-2155-scutil

Trust but verify 'scutil' to return ComputerName