Issue #6559: fix the subprocess.Popen pass_fds implementation. Add a unittest.
Issue #7213: Change the close_fds default on Windows to better match the new
default on POSIX.  True when possible (False if stdin/stdout/stderr are
supplied).

Update the documentation to reflect all of the above.
diff --git a/Modules/_posixsubprocess.c b/Modules/_posixsubprocess.c
index 0b5e544..5f226a8 100644
--- a/Modules/_posixsubprocess.c
+++ b/Modules/_posixsubprocess.c
@@ -107,7 +107,7 @@
                 errno = 0;  /* We don't want to report an OSError. */
                 goto error;
             }
-            if (keep_fd <= start_fd)
+            if (keep_fd < start_fd)
                 continue;
             for (fd_num = start_fd; fd_num < keep_fd; ++fd_num) {
                 close(fd_num);