function applyDefaults(hook) {

      // Get the hook defaults
      var defaults = (_.isFunction(hook.defaults) ?
                            hook.defaults(sails.config) :
                            hook.defaults) || {};

      // Replace the special __configKey__ key with the actual config key
      if (hook.defaults.__configKey__ && hook.configKey) {
        hook.defaults[hook.configKey] = hook.defaults.__configKey__;
        delete hook.defaults.__configKey__;
      }

      defaultsDeep(sails.config, defaults);
    }
Load a hook (bind its routes, load any modules and initialize it)

FUTURE: extrapolate

@param  {[type]}   id [description]
@param  {Function} cb [description]
@return {[type]}      [description]