Add some tests for basic usage and snapshotting

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Better error messages for bad argument counts

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
--config specifies config directory instead of file

Since we save various things in ~/.config/lxc, we should really allow users to
specify an alternat config directory instead of an alternate config file. This
commit changes --config to point to a directory, and puts everything (client
keys, server certs, and config file) in that directory.

Additionally, it updates the tests to reflect this new flag, and uses only a
"local" config directory for the tests, so it shouldn't pollute the config
directory for the user who is running the tests.

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
be more user friendly when I mess up commands

In particular:

* If I run lxc without args, print a list of the available commands instead of
  saying "give me a subcommand".
* If I give an invalid command name, give the list of commands available.

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
fix typo

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Wait for success when performing actions

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>