Add --silent option for quieter UI

Passing the --silent command to any command will supress all output from
the UI expect errors.

Introduces write levels to the UI object. Changes pleasant-progress
commands to pass through the UI object first.  The UI simply delegates
the commands to it’s `PleasantProgress` object.
Merge pull request #2574 from chenn/master

Add --silent option for a quieter UI