Give the DNS resolver explicit state and different source ports

This helps with using multiple resolvers and distinguishing
response packets.