Rework DNS resolution

As announced I took on the task to rework the DNS resolution and to make it threaded in background.
Comments are welcome. As soon as  everybody is fine with it I'll rebase the commits before merging.
It's prototyped (for Win-XP and later) in `<ws2tcpip.h>` which is included via `"ec_inet.h"`.

I'm not aware (or sure) it does this caching for all cases. What if the Windows 
`%(SystemRoot)/drivers/etc/hosts` changes; will the next `getnameinfo()` refresh it's cache?
What does Linux do in such a case? If so, then yes, I don't see the need for C-ares etc.