Remove native popen() and fdopen(), replacing them with subprocess calls.
Fix a path to an assert in fileio_read().
Some misc tweaks.
diff --git a/Modules/_fileio.c b/Modules/_fileio.c
index 2bda155..c46f17e 100644
--- a/Modules/_fileio.c
+++ b/Modules/_fileio.c
@@ -375,6 +375,12 @@
 	if (!PyArg_ParseTuple(args, "i", &size))
 		return NULL;
 
+        if (size < 0) {
+		PyErr_SetString(PyExc_ValueError,
+				"negative read count");
+		return NULL;
+	}
+
 	bytes = PyBytes_FromStringAndSize(NULL, size);
 	if (bytes == NULL)
 		return NULL;