Use an Idle handle when timeout is 0 for run_once
Get rid of rose's run_until_complete implementation

Make the one in base_events work