remove dead EnvironmentVariable struct
Stdout/Stderr are no longer io.Closers

this actually ended up being inconvenient in many places. a very common use
case is emitting logs over a persistent connection; having that connection
close after the process exits is pretty inconvenient. it also assumes you have
an io.Closer in the first place.

this also brings it yet closer to *exec.Cmd