NpipeSocket.settimeout - Blocking and non-blocking are mixed up
`settimeout(None)` puts the socket in non-blocking mode, `settimeout(0)` in blocking mode. Specification indicates it should be the other way around.
diff --git a/docker/transport/npipesocket.py b/docker/transport/npipesocket.py
index 509cabfb..c04b39dd 100644
--- a/docker/transport/npipesocket.py
+++ b/docker/transport/npipesocket.py
@@ -170,13 +170,16 @@ class NpipeSocket(object):
 
     def settimeout(self, value):
         if value is None:
-            self._timeout = win32pipe.NMPWAIT_NOWAIT
+            # Blocking mode
+            self._timeout = win32pipe.NMPWAIT_WAIT_FOREVER
         elif not isinstance(value, (float, int)) or value < 0:
             raise ValueError('Timeout value out of range')
         elif value == 0:
-            self._timeout = win32pipe.NMPWAIT_USE_DEFAULT_WAIT
+            # Non-blocking mode
+            self._timeout = win32pipe.NMPWAIT_NO_WAIT
         else:
-            self._timeout = value
+            # Timeout mode - Value converted to milliseconds
+            self._timeout = value * 1000
 
     def gettimeout(self):
         return self._timeout
['docker/transport/npipesocket.py']