shill: Create an asynchronous resolver object

Resolve DNS requests using the c-ares library but
using the shill event loop to handle events.

BUG=chromium-os:21664
TEST=New unit test

Change-Id: I99776b6cc74977d31198c67357c42a75f4047942
Reviewed-on: https://gerrit.chromium.org/gerrit/10328
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/glib_io_ready_handler.cc b/glib_io_ready_handler.cc
index 3109fc2..bb4fa7c 100644
--- a/glib_io_ready_handler.cc
+++ b/glib_io_ready_handler.cc
@@ -46,7 +46,7 @@
 
 GlibIOReadyHandler::~GlibIOReadyHandler() {
   g_source_remove(source_id_);
-  g_io_channel_shutdown(channel_, TRUE, NULL);
+  // NB: We don't shut down the channel since we don't own it
   g_io_channel_unref(channel_);
 }