Don't depend on sa_len sockaddr field

In socket-utils.h, replace the socklen macro with an inline function
sa_len which always uses the address family, even on platforms with
the sa_len sockaddr field.  This removes the need to set sa_len in
socket addresses we construct.
Avoid using length fields in socket addresses

Remove code to set or reference the length fields of socket addresses
(sa_len/sin_len/sin6_len), since they aren't portable and setting them
is not required.  Remove autoconf tests for those fields which are no
longer used or which were never used.

There is one exception: in localaddr.c, we still neeed to reference
sa_len for the definition of ifreq_size on platforms which have
sa_len.  Leave that behind, along with the autoconf test which defines
SA_LEN.