INSTALL: Add missing requirement
INSTALL: Specify what requires what
cli: Merge the config and arguments

With this change, we can use the options the same way whether they come
from the config file, or from the command-line arguments.

Also, it allows the command-line arguments to override the values in the
config file, if an option exists in both.

This will all make sense soon, I promise.
cli: Reuse the new Options class

This makes the dirty trick slightly more bearable.

Or at least it makes it shorter.
cli: Move the session-related code around

This will make it simpler to handle non-SSL authentication methods.
cli: Trivial refactoring

This doesn't change anything at all.

It just serves the purpose of making the next commit simpler to review.
cli: Allow login/password authentication

I don't have a way to test that, as my Koji instance only allows SSL
authentication.

But this should work. Hopefully. Please report a bug if it doesn't. :P
cli: Allow Kerberos authentication

I don't have a way to test that, as my Koji instance only allows SSL
authentication.

But this should work. Hopefully. Please report a bug if it doesn't. :P
cli: Prevent authentication-related confusion

What should happen if the user specifies both --user/--password and
--keytab/--principal? Which authentication method should we use?

Let's use none of them, and tell the user to be serious for a minute
and choose between the two.
cli: Don't print tracebacks on connection errors

Let's print a pretty message instead!
cli: Move stuff around
cli: Better use argparse

No need for a global var, when we can have formatting variables!
cli: Group the authentication arguments

This makes the command-line help much nicer.
cli: Group the mash arguments

This makes the command-line help much nicer.
cli: Exit on connection error
TODO: Non-SSL authentication should work now