MEDIUM: server: split the address and the port into two different fields

Keeping the address and the port in the same field causes a lot of problems,
specifically on the DNS part where we're forced to cheat on the family to be
able to keep the port. This causes some issues such as some families not being
resolvable anymore.

This patch first moves the service port to a new field "svc_port" so that the
port field is never used anymore in the "addr" field (struct sockaddr_storage).
All call places were adapted (there aren't that many).
diff --git a/include/types/server.h b/include/types/server.h
index 5092eb7..8a6f72f 100644
--- a/include/types/server.h
+++ b/include/types/server.h
@@ -230,7 +230,8 @@
 
 	const struct netns_entry *netns;        /* contains network namespace name or NULL. Network namespace comes from configuration */
 	/* warning, these structs are huge, keep them at the bottom */
-	struct sockaddr_storage addr;		/* the address to connect to */
+	struct sockaddr_storage addr;           /* the address to connect to, doesn't include the port */
+	unsigned int svc_port;                  /* the port to connect to (for relevant families) */
 	struct xprt_ops *xprt;                  /* transport-layer operations */
 	unsigned down_time;			/* total time the server was down */
 	time_t last_change;			/* last time, when the state was changed */