run(
fn) ->result,err
Run the event loop with a main function
Creates an event loop, spawns fn as the main coroutine, and runs
the loop until all tasks complete. Returns the main task's results
or nil, err if the main task errored.
Nested lev.run() calls are not allowed.