preparation for asynchronous DNS resolution

This is an initial step towards fully asynchronous DNS resolution.
Right now it improves things by loading the resolution off to a separate actor with potentially dedicated dispatcher.
The code is covered by TcpConnectionSpec "report failed connection attempt when target cannot be resolved", although only unsuccessful resolution is tested.

Fully asynchronous DNS client coming soon, it's already working in production, but isn't 100% RFC compliant.    
Maybe it's better to send a Dns.Resolved message to itself right in Dns.resolve helper?
After all, the message to self should be handled immediately if throughput > 1 most of the time.