Potential error in task handling code
If the `utils.run_with_interrupt` is ever called with `log=None`, 

https://github.com/juju/python-libjuju/blob/43becc4b9e05682522602bed2bf3575913e96573/juju/utils.py#L146-L161

then it'll cause the `jasyncio.create_task_with_handler`

https://github.com/juju/python-libjuju/blob/43becc4b9e05682522602bed2bf3575913e96573/juju/jasyncio.py#L49

to break at the following line if the wrapped task raises an exception:

https://github.com/juju/python-libjuju/blob/43becc4b9e05682522602bed2bf3575913e96573/juju/jasyncio.py#L75

--------------------

PR to follow with a small fix.
diff --git a/juju/jasyncio.py b/juju/jasyncio.py
index 8208065..d5826fb 100644
--- a/juju/jasyncio.py
+++ b/juju/jasyncio.py
@@ -24,6 +24,9 @@ import asyncio
 import signal
 import functools
 import websockets
+import logging
+
+ROOT_LOGGER = logging.getLogger()
 
 from asyncio import Event, TimeoutError, Queue, ensure_future, \\
     gather, sleep, wait_for, create_subprocess_exec, subprocess, \\
@@ -46,7 +49,7 @@ except ImportError:
         return asyncio.ensure_future(coro)
 
 
-def create_task_with_handler(coro, task_name, logger):
+def create_task_with_handler(coro, task_name, logger=ROOT_LOGGER):
     """Wrapper around "asyncio.create_task" to make sure the task
     exceptions are handled properly.
 
['juju/jasyncio.py']