Bug fix---writing to a UNIX domain connected socket

It seems that for a UNIX domain connected socket, calling write() with a
valid remote address may cause the system to return EISCONN.  In that case,
we need to pass in a nil remote address (sometimes it's not ignored like it
should be).  Accept a nil remote address.