Implemented dynamic loading of Socket.IO adapters

Replaced the existing Socket.IO adapter loading logic with a dynamic module load. The new logic checks the socket adapter property and loads an appropriately named NPM module, passing it the sails.config object and the io instance. Setup and configuration is deferred to the loaded module: the configuration is assumed to have been setup in an appropriately-named configuration file.