smlnj: Don't download on demand & build on Xcode.

- Activeted two additional targets.

Closes #16355.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
brew-test-bot: don't use stash --all; too new.
brew-fetch: remove MD5 output.
grads 2.0.2
valgrind: Use SHA-1 for 3.6.1.
brew-mirror-check: Not using MD5 any more.
manpage: remove outdated MD5 references.
brew-test: use SHA-1 in all testballs.
We use formulae as the plural of formula.
Add tmux warning for launchctl caveats.

References #13951.
brew-cleanup: don't whine about permission denied.

Closes #14359.
qt5: make keg_only due to qt conflict.

References #16471.
References #16921.
Allow depending on requirement class or instance.
ruby: use opt_prefix in caveats

The gem's bindir is available in the opt_prefix; use
that instead of the Cellar location in the caveat.

Closes #17315.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Clean up Tab creation
Move option comparison into BuildOptions
Options can be used interchangeably with Strings

We want to be able to use Option objects in place of strings and have
this be transparent. Defining to_str means that methods like
Kernel#system and Kernel#exec will be able to perform an implicit
conversion.
Options can be dumped as JSON
BuildOptions: simplify setting description
BuildOptions: check has_option? for universal and 32-bit