dns_txt_packet is a low-level component of dns_txt, designed to support
asynchronous DNS lookups. It reads a DNS packet of length len from
buf, extracts the TXT records from the answer section of the packet,
puts the result into out, and returns 0 or -1 the same way as dns_txt.