Don't set Stdin/Stdout/Stderr if already set (#71)

* only set stdout and stderr if not already set

* Don't set cmd.Stdin if it's already set

Considered @craek's codereview
diff --git a/run.go b/run.go
index 2d7f961..56a26ad 100644
--- a/run.go
+++ b/run.go
@@ -33,9 +33,15 @@
 			return nil, err
 		}
 	}
-	c.Stdout = tty
-	c.Stdin = tty
-	c.Stderr = tty
+	if c.Stdout == nil {
+		c.Stdout = tty
+	}
+	if c.Stderr == nil {
+		c.Stderr = tty
+	}
+	if c.Stdin == nil {
+		c.Stdin = tty
+	}
 	if c.SysProcAttr == nil {
 		c.SysProcAttr = &syscall.SysProcAttr{}
 	}