WIP: Downgrade Cask install errors to warnings

Including the case where a Cask is already installed.
Always continue installing when multiple Casks are specified,
only raising an exception at the end of the command (if some
portion of the attempted install actions failed).  Never
exit with an error code if "already installed" was the only
problem seen during the run.

Also tweak error messages.

Fixes #1347, #2677, #4785

This is a work-in-progress because, although it exhibits
the desired behavior, it changes how the exceptions work,
which breaks the expectations on the test suite.  The
test suite needs to be updated to target this code.