Suggest `brew update && …` when handling errors or missing methods

As @ndr-qef and @rolandwalker suggested on IRC.

This is supposed to help cut trivial issues that would be easily fixable by doing `brew update && …` etc.
Also, splitting unit tests in two to keep one from triggering the other.

my only question is what this empty `#{}` does