src: Refactoring common.hpp and minimizing exposed includes

Face class has relatively large rewrite to hide internals using
Implementor pattern.  As of this commit, <boost/asio.hpp> is not
automatically included whenever ndn-cxx/face.hpp is included.  If it is
needed to directly work with io_service, asio.hpp should be specifically
included.

Change-Id: Ie742b851025b4e3da634eb981319df0f42937855
diff --git a/src/common.hpp b/src/common.hpp
index ed2bf19..05c3319 100644
--- a/src/common.hpp
+++ b/src/common.hpp
@@ -14,33 +14,11 @@
 #define NDN_COMMON_HPP
 
 #include "ndn-cxx-config.hpp"
+
 #include <stdint.h>
-// TODO: Is stddef.h portable?
 #include <stddef.h>
 #include <unistd.h>
 
-// Standard headers to precompile
-
-#include <vector>
-#include <list>
-#include <set>
-#include <algorithm>
-#include <map>
-#include <sstream>
-#include <fstream>
-#include <exception>
-#include <map>
-
-// Other useful headers to precompile
-#include <boost/lexical_cast.hpp>
-#include <boost/asio.hpp>
-#include <boost/date_time/posix_time/posix_time.hpp>
-#include <boost/utility.hpp>
-
-#include <boost/iostreams/detail/ios.hpp>
-#include <boost/iostreams/categories.hpp>
-#include <boost/iostreams/stream.hpp>
-
 #if defined(__GNUC__) || defined(__clang__)
 #define DEPRECATED(func) func __attribute__ ((deprecated))
 #elif defined(_MSC_VER)
@@ -132,12 +110,12 @@
 
 #endif // NDN_CXX_HAVE_CXX11
 
+#include <boost/utility.hpp>
+
 namespace ndn {
 
 using boost::noncopyable;
 
 }
 
-#include "util/time.hpp"
-
-#endif
+#endif // NDN_COMMON_HPP