text: Title: Can't seem to create a stream to get trade updates. (RuntimeError: This event loop is already running)
  Body: So I am trying to get a stream of trade updates from the alpaca api, I run the following command.
  ```
  import alpaca_trade_api as tradeapi
  import time
  import datetime
  
  api = tradeapi.REST('xxx','https://paper-api.alpaca.markets')
  conn = tradeapi.StreamConn('xxx','xxx','https://paper-api.alpaca.markets')
  account = api.get_account()
  
  def run():
      @conn.on(r'trade_updates')
      async def on_msg(conn, channel, data):
          datasymbol = data.order['symbol']
          event = data.event
          print('Order executed for',datasymbol, data.order['side'], event, data.order['filled_qty'])
          
  conn.run(['trade_updates'])
  ```
  This is the error I get.
  
  ```
  ---------------------------------------------------------------------------
  RuntimeError                              Traceback (most recent call last)
  D:\Users\user\Anaconda3\envs\ml\lib\site-packages\alpaca_trade_api\stream2.py in run(self, initial_channels)
      158         try:
  --> 159             loop.run_until_complete(self.subscribe(initial_channels))
      160             loop.run_forever()
  
  D:\Users\user\Anaconda3\envs\ml\lib\asyncio\base_events.py in run_until_complete(self, future)
      565         try:
  --> 566             self.run_forever()
      567         except:
  
  D:\Users\user\Anaconda3\envs\ml\lib\asyncio\base_events.py in run_forever(self)
      520         if self.is_running():
  --> 521             raise RuntimeError('This event loop is already running')
      522         if events._get_running_loop() is not None:
  
  RuntimeError: This event loop is already running
  
  During handling of the above exception, another exception occurred:
  
  RuntimeError                              Traceback (most recent call last)
  <ipython-input-2-8a009c05ab30> in <module>
        6         print('Order executed for',datasymbol, data.order['side'], event, data.order['filled_qty'])
        7 
  ----> 8 conn.run(['trade_updates'])
  
  D:\Users\user\Anaconda3\envs\ml\lib\site-packages\alpaca_trade_api\stream2.py in run(self, initial_channels)
      162             logging.info("Exiting on Interrupt")
      163         finally:
  --> 164             loop.run_until_complete(self.close())
      165             loop.close()
      166 
  
  D:\Users\user\Anaconda3\envs\ml\lib\asyncio\base_events.py in run_until_complete(self, future)
      564         future.add_done_callback(_run_until_complete_cb)
      565         try:
  --> 566             self.run_forever()
      567         except:
      568             if new_task and future.done() and not future.cancelled():
  
  D:\Users\user\Anaconda3\envs\ml\lib\asyncio\base_events.py in run_forever(self)
      519         self._check_closed()
      520         if self.is_running():
  --> 521             raise RuntimeError('This event loop is already running')
      522         if events._get_running_loop() is not None:
      523             raise RuntimeError(
  
  RuntimeError: This event loop is already running
  ```
  
  Is there something wrong with my code? 