Add support for generating DNS replies

Add support for showing test name in case of assertion failure.

This is the first step, adding primitives for creating DNS replies, with a simple example for generating
dummy replies suitable for a captive portal.

TODO: The next step is to create a DNS server helper that will allow the user to not bother too much with protocol details and just fill in the resolution strategy.

TODO: this implementation doesn't perform any name compression in the replies. The DNS protocol
allows suffix compression, which is very useful when responses reference a name present in the query.