MINOR: protocol: add a real family for existing FDs

At some places (log fd@XXX, bind fd@XXX) we support using an explicit
file descriptor number, that is placed into the sockaddr for later use.
The problem is that till now it was done with an AF_UNSPEC family, which
is also used for other situations like missing info or rings (for logs).

Let's create an "official" family AF_CUST_EXISTING_FD for this case so
that we are certain the FD can be found in the address when it is set.
diff --git a/src/tools.c b/src/tools.c
index 803afab..d948993 100644
--- a/src/tools.c
+++ b/src/tools.c
@@ -861,7 +861,8 @@
  * <fqdn> was filled, indicating the need for a resolution.
  *
  * When a file descriptor is passed, its value is put into the s_addr part of
- * the address when cast to sockaddr_in and the address family is AF_UNSPEC.
+ * the address when cast to sockaddr_in and the address family is
+ * AF_CUST_EXISTING_FD.
  */
 struct sockaddr_storage *str2sa_range(const char *str, int *port, int *low, int *high, char **err, const char *pfx, char **fqdn, int resolve)
 {
@@ -957,8 +958,8 @@
 			goto out;
 		}
 
-		/* we return AF_UNSPEC if we use a file descriptor number */
-		ss.ss_family = AF_UNSPEC;
+		/* we return AF_CUST_EXISTING_FD if we use a file descriptor number */
+		ss.ss_family = AF_CUST_EXISTING_FD;
 	}
 	else if (ss.ss_family == AF_UNIX) {
 		struct sockaddr_un *un = (struct sockaddr_un *)&ss;