simplified piper

this is what would be needed to continue with ruby-1.8.7 compatibility in #510 

problems:

1. stderr is printed in tests - would be nice to suppress it
2. there are 3 offenses, I think all 3 should be ignored ( `while =` - proper, no `$CHILD_STATUS` in 1.8.7)
3. if we would like to read `stderr` it requires tempfile like it's done in tests - we do not require `stderr` in `lib/`