Avoid multiple returns of connect errors
Return async connect error by first following read or write operation.
Renamed function CreateClientSocket to TcpConnect and variable error to connectError
Rename CreateClientSocket to TcpConnect
Rename error to connectError in struct TcpState.
Changed error report logic, that an async connect error is only reported by 'fconfigure -error' and not by a possible last command terminating the async connect. The terminating command always returns "socket is not connected" on connect error. In addition, some flags were renamed: TCP_ASYNC_SOCKET to TCP_NONBLOCKING and also the new state flags.
Beautify check for async connect reentry
  *  Give clearer names to some of the state flags and sync them with Windos where it makes sense.
  *  Rework WaitForConnect once more to always report ENOTCONN on I/O operations on failed async sockets.
  *  Fix synchronous connections to a server that only listens on IPv6 (or whatever comes later in the list returned by getaddrinfo(), socket-15.*)
  *  Fix spurious writable event on async sockets (socket-14.15).
Fix and improve socket -async [13d3af3ad6]