mentations. See U{http://tools.ietf.org/html/draft-ietf-dnsext-edns1-03} for a proposed solution. @param protocol: The DNS protocol instance to which to send a response message. @type protocol: L{dns.DNSDatagramProtocol} or L{dns.DNSProtocol} @param message: The original DNS query message for which a response message will be constructed. @type message: L{dns.Message} @param address: The address to which the response message will be sent or L{None} if C{protocol} is a stream protocol. @type address: L{tuple} or L{None} @return: A C{deferred} which fires with the resolved result or error of the first query in C{message}. @rtype: L{Deferred} r