Rename _ev_timers to _ev_watchers

This is in preparation for using it for Signal watchers as well as
Timer watchers.
OS signal support for the LibEv hub

Required a bugfix to the handle_events method. Callbacks that were
getting appended to run_now were running after those that were added to
reschedule. That was happening because run_now was gettinged extended
with reschedule before handling events from the hub loop.

Like the EPollEventHub, we now do multiple iterations over run_now
during handle_events. The second pass runs any that were added during
hub loop event handling. Last of all, the callbacks that were in
reschedule are put into run_now for the next call.