(PUP-3624) Log at least at info level when --verbose is specified

The change for PUP-2998 means if you have `log_level=debug` in your
puppet.conf, then `puppet agent --test` will reduce the log level to info,
because `--test` implies `--verbose`.

This commit changes the semantics of `--verbose` (and `--test`) so
that we log *at least* at that level, but we won't downgrade.  This
affects all Puppet::Applications, e.g. puppet apply, agent, etc.

Note this wasn't an issue before PUP-2998 was implemented, because
log_levels could only be specified on the command line.
Actually, the base doesn't seem to handle the warning level.  I'm confused why this code, which previously set warning only if debug/verbose wasn't specified, does anything but call `set_log_level`.