MINOR: dns: functions to manage memory for a DNS resolution structure

A couple of new functions to allocate and free memory for a DNS
resolution structure. Main purpose is to to make the code related to DNS
more consistent.
They allocate or free memory for the structure itself. Later, if needed,
they should also allocate / free the buffers, etc, used by this structure.
They don't set/unset any parameters, this is the role of the caller.

This patch also implement calls to these function eveywhere it is
required.
diff --git a/include/proto/dns.h b/include/proto/dns.h
index c7cd356..8c3ef8c 100644
--- a/include/proto/dns.h
+++ b/include/proto/dns.h
@@ -45,5 +45,7 @@
 void dns_reset_resolution(struct dns_resolution *resolution);
 int dns_check_resolution_queue(struct dns_resolvers *resolvers);
 unsigned short dns_response_get_query_id(unsigned char *resp);
+struct dns_resolution *dns_alloc_resolution(void);
+void dns_free_resolution(struct dns_resolution *resolution);
 
 #endif // _PROTO_DNS_H