create event loop before predictor setup (#1366)
* conditionally create the event loop if predictor is async, and add a path for hypothetical async setup
* don't use async for predict loop if predict is not async
* add test cases for shared loop across setup and predict + asyncio.run in setup
(reverts commit b533c6bd55c273b884c5924d5fff90b85c9dc763)
Signed-off-by: technillogue <technillogue@gmail.com>