Don't shut down the runtime until main() exits

This is a very helpful feature for asyncify! Using 'noExitRuntime' is a very blunt solution that means that the runtime is never shut down, but with this tweak, we clean up main normally when its async_cb exits.