RFCTR: DGLNet

- moved dglnet classes to namespaces
- introduced request/request reply messages as general framework for messages that can fail
- implemented request/request reply handling in DGLController and DGLDebugControl
- re-implemented queried on top of request/request reply framework
- moved some code in DGLNet/protocol to separate files
- moved REGISTER_CLASS macros to appropriate DGLNet/protocol cpp files

Downsides: some scenarios are now less optimized than before:
- Multiple resource queries are send in separate messages
- Multiple resources listeners are creeated for same resource.