Merge the checkins of the dgp-read-bytes branch onto the trunk, up to
and including checkin a1e82fb63e .  Do not merge checkin bae1c688f2
which starts to take the dgp-read-bytes branch into directions apparently
unfriendly to stacked channels, which tests for [chan push] on the trunk
help us to detect.
Add test io-53.12 to verify proper unbuffered sync-fcopy [Bug #3096275]
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).
merge trunk
merge trunk
merge trunk
merge trunk
merge trunk
Fixup restacking tests to expect the right results.
Bring back self restacking support.  Channel tests all passing now.
Re-apply [3010352], bringing back the symbol exports of shared libraries as it was in 8.6.0/8.6.1.
merge trunk
merge-mark