Replaced Open3 with builtins fork and IO.pipe. This is way harder to test which is why my coverage is going down in this commit, but is compatible with all ruby versions I have tried so far. Open3 only accepts the environment as an argument on 1.9+.