Implement APIs for async process I/O
Chronos needs an API for launching sub-processes and interacting with their standard input and output through `AsyncPipe`. Additional APIs may be added for controlling process groups and for automatically terminating sub-processes when their parent dies.