Improve `in_sub_process` helper.

- Rescue all exceptions -- we always want to pass them back to the parent.
- Always close the read IO. (Before it only closed it if there was not an exception).