complete modularization:
1. index.js only start the server
2. server.js manage the server related things like server initialization, server start listening (further: server pause, reconnect)
3. ioRouting and expressRouting is for receiving the request and call correct controller action to handle it
4. ioController process and return things to client (including database update, will be further tear down to model and several controllers later)
5. 3 util module: databaseManager.js for managing database connection/ responseJson for generate json format response/ SGC for clear all expired idle socket links
6. socketExtension is middleware when processing things