std: Windows: WSASocketW ensures WSAStartup

When WSASocketW gets WSANOTINITIALISED, now it will lock a mutex to
safely call WSAStartup and then try again one time.

This implementation:
 * Does not use recursion
 * Contains a detailed doc comment explaining why things are how they are
 * Is careful about which errors are surfaced in the respective error
   sets. `std.os.socket` intentionally does not have "not initialised"
   as one of the possible errors.
61850f8883Andrew Kelley committed on 5/20/2021, 7:28:30 PMparent85c2ffc
2 files changedLine totals unavailable