----------------------------
- Add bidirectional message transfer channels for IPC.
- Prevent multiprocessing from swallowing SIGCHLD signals. Eliminates race
condition between poll via os.waitpid() and libev child watchers.
- Don't pass dispensable gipc handles to child.
- Properly deal with handles that are locked for I/O operation while being
inherited by child.
- Various minor code changes, and a new class of unit tests for more complex
scenarios.