Consolidate all socket keepalive handling in CEDAR in one place. #4122
Added Windows function GetLastErrorString() in util lib. #4122

Finally a util lib function for Win32 to get an error string returned in
a static buffer (like strerror) so it is easy to use in dprintf
messages.  Note this is for Win32/Winsock errors, not C library
errnos - for C library errno calls, use strerror() as usual.
Add support for TCP_KEEPALIVE_INTERVAL on Windows. #4122
Set TCP_USER_TIMEOUT to help close dead tcp sockets. #4122

Use TCP_USER_TIMEOUT, which is amount of time before an ack
must be received for sent data, to make sure the connection fails in a
reasonable amount of time even if there is traffic on it.