Piper, for piping from/to spawned processes

The `Piper` class is a wrapper around `#popen3`. This is intended to replace the use of `systemu`, which does not work reliably on JRuby.

Built-in classes FTW.

To do:

* [ ] Implement sending data through `stdin`
* [ ] Migrate other parts that use `#popen3` or `systemu` to `Piper`