net: work around Solaris connect issue when server closes socket
net: work around Solaris connect issue when server closes socket

On Solaris, if you do a in-progress connect, and then the
server accepts and closes the socket, the client's later
attempt to complete the connect will fail with EINVAL.  Handle
this case by assuming that the connect succeeded.  This code
is weird enough that it is implemented as Solaris-only so that
it doesn't hide a real error on a different OS.

See http://golang.org/issue/6828.

R=iant
CC=gofrontend-dev
https://golang.org/cl/46230043

golang/gofrontend,anlhord/gofrontend,qskycolor/gofrontend,anlhord/gofrontend,qskycolor/gofrontend,qskycolor/gofrontend,anlhord/gofrontend,golang/gofrontend,anlhord/gofrontend,qskycolor/gofrontend,qskycolor/gofrontend,anlhord/gofrontend,anlhord/gofrontend,golang/gofrontend,anlhord/gofrontend,qskycolor/gofrontend,qskycolor/gofrontend,golang/gofrontend