Improved Primitive support and better testing

This changeset addresses several issues.

- Improve primitive support so the status and output of an executed
primitive can be retrieved
- Merge latest upstream libjuju (required for new primive features)
- New testing framework
    This is the start of a new testing framework with the ability to
create and configure LXD containers with SSH, to use while testing proxy
charms.
- Add support for using ssh keys with proxy charms
    See Feature 1429. This uses the per-proxy charm/unit ssh keypair

Signed-off-by: Adam Israel <adam.israel@canonical.com>
diff --git a/modules/libjuju/.gitignore b/modules/libjuju/.gitignore
index 866a785..7614b47 100644
--- a/modules/libjuju/.gitignore
+++ b/modules/libjuju/.gitignore
@@ -10,3 +10,5 @@
 .\#*
 dist/
 dev/
+.pytest_cache
+pytestdebug.log