Ruby 1.8 doesn't have the concept of string encodings. Compare to the string as is.
Use pipe factory method to handle 1.8 incompatible signature for IO.pipe.
Use POSIX::Spawn to make foreman ruby 1.8 compatible and have all specs passing.
Enable ruby 1.8.7 building on Travis. All specs should pass now on ruby 1.8.7.
The wrapped_command has spaces which triggers Ruby to fork a system shell (with /bin/sh -c). This causes orphaned processes on some systems (i.e. Linux). Fix this by splitting the command using String#shellsplit and using ruby's splat operator (*) to pass discrete arguments to spawn.
Merge pull request #359 from kjwierenga/feature/make-ruby-18-compatible

Fix specs that were broken on ruby 1.8. Use POSIX::Spawn.spawn to make foreman robust on ruby 1.8.7.