[important refactor] make singleton managers not singleton any more, but make server singleton, and these managers are managed by the server
fix compile error with gcc: enable c++11 to support std::unique_ptr
fix compile error with gcc: same name of class and function name
fix compile error with gcc: add missing dependency