MINOR: protocol: retrieve the family-specific fields from the family

We now take care of retrieving sock_family, l3_addrlen, bind(),
addrcmp(), get_src() and get_dst() from the protocol family and
not just the protocol itself. There are very few places, this was
only seldom used. Interestingly in sock_inet.c used to rely on
->sock_family instead of ->sock_domain, and sock_unix.c used to
hard-code PF_UNIX instead of using ->sock_domain.

Also it appears obvious we have something wrong it the protocol
selection algorithm because sock_domain is the one set to the custom
protocols while it ought to be sock_family instead, which would avoid
having to hard-code some conversions for UDP namely.
diff --git a/src/protocol.c b/src/protocol.c
index a4e93e2..7485870 100644
--- a/src/protocol.c
+++ b/src/protocol.c
@@ -82,7 +82,7 @@
 				handler = syslog_fd_handler;
 			}
 
-			lerr = proto->bind(receiver, handler, &errmsg);
+			lerr = proto->fam->bind(receiver, handler, &errmsg);
 			err |= lerr;
 
 			/* errors are reported if <verbose> is set or if they are fatal */