Add a juju subcommand for backups.

This will fit on top of the client API that Michael is writing.
Yeah, I did this so I could use a fake client in the test code.  I'll fix the name.  I'm still adjusting to Go's namespace model (a.k.a. packages). :)

As to handling lack of backup support, this changeset would definitely require that the client already Backup() implemented.  Sorry.  I wasn't clear that this PR wasn't meant to be stand-alone.  In the meantime users can continue to use the plugin.