DGLCommon refactor: move most of protocol-related code to better place.
Do not include whole asio.hpp