Improve logging for RBTools.

The API/command rewrite in 0.5 regressed our log output, making it a bit
harder to gather useful debug information and to nicely show logging of
various levels.

Upon starting, we log a bunch of debug information, in order to help
with support requests. This matches what post-review used to show.

We now format different log levels in different ways.

Debug messages once again have a ">>>" prefix to help distinguish them
from other output.

Info messages are shown just like print statements, with no prefixes.

Warning and higher are in the form of "LEVEL: message". This is a lot
nicer to look at when there's an error, since we now show
"ERROR: <blah>" instead of "ERROR:root:<blah>".

The resulting logging looks like:

>>> This is debug
This is info
WARNING: This is warning
ERROR: This is error
CRITICAL: This is critical
Switch to using argparse for argument parsing.

argparse is the successor to optparse, and has a lot of nice additions
we may want to take advantage of. It knows how to do things like
optional values to arguments flags, variable argument values, and
"positional arguments" (such as a command name), reducing the amount of
work we have to do.

The two are pretty compatible, allowing for most of the porting effort
to remain under the hood. New commands can certainly take advantage of
the new support though.

We still maintain our own Option and OptionGroup wrappers, which we
still need in order to map to configuration keys.

argparse is natively available on Python 2.7 or higher. For older
versions, we depend on the 'argparse' package from PyPI, which provides
compatibility with Python 2.7's argparse.