Modified DNSLookup to offer both a synchronous and an asynchronous API

Ignore-this: 615ae8fc973a4f138d12a82741e25068

darcs-hash:20091218172149-1e3d8-f50e9892b2d20e50ae32112ab4fae0cd34e6c7ff
Improved logging in DNSLookup.lookup_service

Ignore-this: e350e75b722f8e649b049c9f9d62d557

darcs-hash:20091218172440-1e3d8-2fbfdf4ae9cc91fe8b36f49bae11d9a866215c63