- remove code that attempts to propogate _main's exit status through returns. we can't rely on that, the status must be signaled through an event to support both sync / async applications.
 - consolidate exit functionality
 - moved exitRuntime to callMain
Merge pull request #1444 from inolen/async_main

don't expect an exit status to be returned from run or callMain