Add support for 'cluster list' command.

It also supports showing a particular cluster by id or tag. You can also filter
by cluster state. I have used argparse to parse the command line arguments
instead of optparse. I will eventually migrate the whole codebase to use
argparse.