Refactor dns code

1) Move dns code in `src/protocols`.

2) Use the `ight::protocols::dns` namespace.

3) Do not prefix DNS to class names.

4) Replace Settings with a more-general Settings object that maps strings to strings.