More cleanup.  Renamed BlockingIO to BlockingIOError.
Removed unused _PyFileIO class.
Changed inheritance structure.
TODO: do the same kinds of things to TextIO.
diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py
index 5a4745f..2ca1e70 100644
--- a/Lib/test/test_io.py
+++ b/Lib/test/test_io.py
@@ -64,7 +64,7 @@
         self._write_stack.append(b[:])
         n = self.bs.pop(0)
         if (n < 0):
-            raise io.BlockingIO(0, "test blocking", -n)
+            raise io.BlockingIOError(0, "test blocking", -n)
         else:
             return n
 
@@ -145,20 +145,6 @@
         self.read_ops(f)
         f.close()
 
-    def test_PyFileIO(self):
-        f = io._PyFileIO(test_support.TESTFN, "w")
-        self.assertEqual(f.readable(), False)
-        self.assertEqual(f.writable(), True)
-        self.assertEqual(f.seekable(), True)
-        self.write_ops(f)
-        f.close()
-        f = io._PyFileIO(test_support.TESTFN, "r")
-        self.assertEqual(f.readable(), True)
-        self.assertEqual(f.writable(), False)
-        self.assertEqual(f.seekable(), True)
-        self.read_ops(f)
-        f.close()
-
 
 class MemorySeekTestMixin: