FIX: cancelling tasks waiting on event fails if loop closed
FIX: cancelling tasks waiting on event fails if loop closed

Given an event is started and an asyncio loop is also started, when the
asyncio loop is closed and starting the same event is attempted, then a
RuntimeError is thrown as the loop is closed.

This occurs because the tasks in the waiting set were not cleared out
when the asyncio loop was closed, so when the event is started the
second time, asyncio.gather() is called expecting the loop to not be
closed.

arielmakestuff/loadlimit