Fix two dns bugs

1) Get *move semantic* right for all DNS classes and explain how we could verify this in the related commit message.

2) Make sure that `Resolver::Resolver()` does not change the `settings` map it receives (spotted while working to fix 1).