Make running actors event-driven

Instead of waking up frequently to check if actors need to run, set an
alarm for the first timeout and use a signalfd to get us out of poll() when
the alarm expires and SIGALRM is sent.

alarm(2) only has second granularity but we are using delayed actors for
multi-second timeout handling so this is ok. All callsites were multiplying
by 1000 for wait-in-msec, so just change actor_timer() callsites to pass
timeout in seconds.

Fold actor_check() into actor_poll().

Remove actor_timer_mod, not used.

Rename actor_list to ready_list for clarity.

Remove poll_list, no longer needed.

Remove ACTOR_POLL_WAITING state, no longer needed.

Add some more helpful macros to list.h.

Based on earlier work by Chris Leech.

Signed-off-by: Andy Grover <agrover@redhat.com>
Wake up to reap children

If we have fork()ed, in addition to exiting poll() if a fd is active, also
wake up once a second.

This should ensure defunct processes are retired in a timely fashion,
while also minimizing wakeups while not needing to reap, i.e. most of the
time.

Change reap_count to an unsigned int, strictly to turn off that part of
readers' brains where they worry it might ever be negative.

Fix a typo in comment.

Signed-off-by: Andy Grover <agrover@redhat.com>