GvR provided solution to the socket rebinding timeout problem.

M PyShell.py
M rpc.py
M run.py
diff --git a/Lib/idlelib/rpc.py b/Lib/idlelib/rpc.py
index 267dd60..5bb0e64 100644
--- a/Lib/idlelib/rpc.py
+++ b/Lib/idlelib/rpc.py
@@ -403,6 +403,7 @@
 
     def __init__(self, address, family=socket.AF_INET, type=socket.SOCK_STREAM):
         self.sock = socket.socket(family, type)
+        self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
         self.sock.bind(address)
         self.sock.listen(1)