This patch adds the capability for the coordinator to listen on sockets while waiting for imessages to arrive. Before the coordinator just slept until a signal arrives, notifying the coordinator about an internal message.
Major caveat here: I'm using pselect(), which might still not be portable enough. The work-around for platforms on which a signal doesn't interrupt select has been removed as well. I can't think of any way to support platforms as broken as that.