Asyncio: ApplicationRunner doesn't handle correctly restart of the event loop
Running a `asyncio.wamp.ApplicationSession` with `ApplicationRunner.run(session start_loop=True)`
two consecutive times fails the second one.

Minimal example: https://gist.github.com/rdebroiz/1854c2bab7da929e376c273d262c805a

Adding
``` python
if loop.is_closed():
    asyncio.set_event_loop(asyncio.new_event_loop())
```
Before to run the ApplicationRunner the second times make it works as expected.

This code snippet is coming from and is already called by `asyncio.wamp.ApplicationRunner.run`
see: https://github.com/crossbario/autobahn-python/blob/master/autobahn/asyncio/wamp.py#L246

Any ideas of what is going on?
diff --git a/autobahn/asyncio/component.py b/autobahn/asyncio/component.py
index 5c766811..96edbcdf 100644
--- a/autobahn/asyncio/component.py
+++ b/autobahn/asyncio/component.py
@@ -333,6 +333,10 @@ def run(components, log_level='info'):
     if log_level is not None:
         txaio.start_logging(level=log_level)
     loop = asyncio.get_event_loop()
+    if loop.is_closed():
+        asyncio.set_event_loop(asyncio.new_event_loop())
+        loop = asyncio.get_event_loop()
+        txaio.config.loop = loop
     log = txaio.make_logger()
 
     # see https://github.com/python/asyncio/issues/341 asyncio has
diff --git a/autobahn/asyncio/wamp.py b/autobahn/asyncio/wamp.py
index a0407680..0bf3abf5 100644
--- a/autobahn/asyncio/wamp.py
+++ b/autobahn/asyncio/wamp.py
@@ -248,6 +248,8 @@ class ApplicationRunner(object):
         if loop.is_closed() and start_loop:
             asyncio.set_event_loop(asyncio.new_event_loop())
             loop = asyncio.get_event_loop()
+            if hasattr(transport_factory, 'loop'):
+                transport_factory.loop = loop
         txaio.use_asyncio()
         txaio.config.loop = loop
         coro = loop.create_connection(transport_factory, host, port, ssl=ssl)
['autobahn/asyncio/component.py', 'autobahn/asyncio/wamp.py']