Socket functionality for WindowsPoller

Current state of the Windows port: all tests in common/ pass
This seems really dangerous. How about adding a method DescriptorHandle::IsValid() and then passing the DescriptorHandle to RemoveDescriptor.