build: handle bad gcc -dumpversion output

`gcc -dumpversion` usually prints major.minor - but on sunos it prints
major.minor.patch.
unix: handle EINPROGRESS for unix sockets

Before this commit, it was assumed that connect() on UNIX sockets never
returns EINPROGRESS. It turned out to be a bad assumption: Dave Pacheco
reports sporadic hangups on SmartOS because of that.

It's not clear to me _why_ the Illumos kernel returns that error but
that's inconsequential: whatever the cause, libuv needs to handle it
and now it does.

This is a back-port of commit 3348cd7 from the master branch.

Fixes joyent/node#4785.

Conflicts:
	src/unix/pipe.c