dns: Add send_req, rewrite u_{r,}dns to use it

This causes the addition of type and name fields to dns_req structs,
which will be useful when resending requests for timeouts, etc.