Combine common functions of mDNS and DNS

Functions that are shared by the DNS client and the mDNS client are
combined in pico_dns_common. There is still some overlap between the two
modules, so this should be refactored to make the common part even
bigger.