Improves to the portable resolver API

Do not force service lookup to be a hashtable. Expose a function
instead
Add a Lwt_unix_resolver module that includes a system resolver

It uses getaddrinfo and getservbyname to be as 'unix-like' as possible