changed the design to detect the exit of child processes.

Previously ActorCollector used wait() to detect the exit of
children (we call Action). This way needs a thread. Thread
generally makes code complicated.

This patch changes the basic way. The new way catches the signal
handler of SIGCHLD. Then the handler writes reaped information
to the pipe monitored by g_io_channel. Afterall, the child exit
is processed as a glib callback event.