text: Title: is there a way to wait a given timeout *after* I got one response?
  Body: This is relevant for multicast - my dns.query.udp returns upon the first reply to the query (as expected), where I would like to wait a certain amount of seconds before returning, allowing some time for more responses from other devices:
  
  ```
  import dns.name
  import dns.message
  import dns.query
  import dns.flags
  
  SERVICE_TO_QUERY = "_http._tcp.local"
  QUERY_ADDRESS = '224.0.0.251'
  
  domain = dns.name.from_text(SERVICE_TO_QUERY)
  
  request = dns.message.make_query(domain, dns.rdatatype.ANY)
  
  response = dns.query.udp(request, QUERY_ADDRESS, timeout=10, port=5353)
  
  for a in response.additional:
      print(a)
  
  ```
  Any way I could do that?
  