Avoid using or setting sa_len/sin_len/sin6_len

This needs to be tested on Solaris, OS X, and FreeBSD before pushing.  (I'll take care of Solaris.)