Reduce inclusions of <boost/asio.hpp> in public headers

And especially, stop including it from the precompiled header
"common-pch.hpp". This is a necessary step in order to avoid
conflicts between net/if.h (pulled in by Asio) and linux/if.h
(required by future commits).

Change-Id: I0207be0d2be796d8ef369062a8d5195fedfef6b0
diff --git a/src/util/network-monitor.hpp b/src/util/network-monitor.hpp
index f3fc6b8..dae4941 100644
--- a/src/util/network-monitor.hpp
+++ b/src/util/network-monitor.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2013-2015 Regents of the University of California.
+ * Copyright (c) 2013-2016 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -24,7 +24,12 @@
 
 #include "signal.hpp"
 
-#include <boost/asio/io_service.hpp>
+// forward declaration
+namespace boost {
+namespace asio {
+class io_service;
+} // namespace asio
+} // namespace boost
 
 namespace ndn {
 namespace util {