Move the io_handler code out of shill_event

Create io_handler.h and glib_io_handler.{cc,h} to contain
all the io hander stuff.  The code is ostensibly the same.

BUG=chromium-os:15803
TEST=Rerun unit tests

Change-Id: I3e37ac643c5c4449ae0db8b9a5f02225e8cd2aec
Reviewed-on: http://gerrit.chromium.org/gerrit/1630
Tested-by: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
diff --git a/shill_event.h b/shill_event.h
index cc2bdb1..bed38c7 100644
--- a/shill_event.h
+++ b/shill_event.h
@@ -13,6 +13,8 @@
 #include <base/memory/scoped_ptr.h>
 #include <base/message_loop.h>
 
+#include "shill/io_handler.h"
+
 namespace base {
 class MessageLoopProxy;
 }  // namespace base
@@ -20,17 +22,6 @@
 
 namespace shill {
 
-struct InputData {
-  unsigned char *buf;
-  size_t len;
-};
-
-class IOInputHandler {
- public:
-  IOInputHandler() {}
-  virtual ~IOInputHandler() {}
-};
-
 // This is the main event dispatcher.  It contains a central instance, and
 // is the entity responsible for dispatching events out of all queues to
 // their listeners during the idle loop.