dns: introduce lookupService function

Uses getnameinfo to resolve an address an port into a hostname and
service.

NOTE: latest libuv needs to be pulled into node before merging this.

Does what it says on the tin. I'm not thrilled about the `lookupService` name, suggestions are welcome :-)

Suggested reviewer: @indutny, but all feedback is of course welcome!
Can too!

```c++
CHECK(uv_ip4_addr(*address, port, reinterpret_cast<sockaddr_in*>(&addr)) == 0 ||
      uv_ip6_addr(*address, port, reinterpret_cast<sockaddr_in6*>(&addr)) == 0);
```