1) rewrite <realmd> project to use Boost::Asio
2) fix crashes happened upon process stop due to incorrect object destruction order
3) improve error handling in Socket class