Bug fix in error return and make work with old version of libev

Put 'id' in top-level error return value, not its error value. Make work for old (ev_loop/ev_unloop) and new (ev_run/ev_break) versions of libev.