implement locking around the blocking call to ReadFile to get around a Windows kernel bug. this allows uv_read_stop to actually cancel a pending IO operation, and makes uv_pipe_getsockname less likely cause process-deadlock
fix typos since (!x&A) != (!(x&A))
restore Windows XP support