make FileIO.mode always include 'b'

#4386 Reviewed by Amaury
diff --git a/Lib/socket.py b/Lib/socket.py
index 5578b13..045987c 100644
--- a/Lib/socket.py
+++ b/Lib/socket.py
@@ -198,10 +198,12 @@
     # XXX More docs
 
     def __init__(self, sock, mode):
-        if mode not in ("r", "w", "rw"):
+        if mode not in ("r", "w", "rw", "rb", "wb", "rwb"):
             raise ValueError("invalid mode: %r" % mode)
         io.RawIOBase.__init__(self)
         self._sock = sock
+        if "b" not in mode:
+            mode += "b"
         self._mode = mode
         self._reading = "r" in mode
         self._writing = "w" in mode