Use the Sock class instead of SOCKET for InterruptibleRecv() and
Socks5().
This way the Socks5() function can be tested by giving it a mocked
instance of a socket.
Co-authored-by: practicalswift <practicalswift@users.noreply.github.com>
Note: Apply the same changes to seeder/bitcoin.cpp
This is a backport of core#20788 [4/5]
https://github.com/bitcoin/bitcoin/pull/20788/commits/04ae8469049e1f14585aabfb618ae522150240a7
Depends on D11005