Add dns primitive

Added a DNS primitive that, per #76, checks for multiple responses, can do chaos queries, checks for second responses, and can send multiple queries in parallel.

I have also included an example experiment to show how to use the code.
I was just confused about the resolver. This makes sense.