lib/classes/PluginManager.js/PluginManager/createCommandAlias
class PluginManager:  createCommandAlias(alias, command) {
    // Deny self overrides
    if (_.startsWith(command, alias)) {
      throw new this.serverless.classes
        .Error(`Command "${alias}" cannot be overriden by an alias`);
    }

    const splitAlias = _.split(alias, ':');
    const aliasTarget = _.reduce(splitAlias, (__, aliasPath) => {
      const currentAlias = __;
      if (!currentAlias[aliasPath]) {
        currentAlias[aliasPath] = {};
      }
      return currentAlias[aliasPath];
    }, this.aliases);
    // Check if the alias is already defined
    if (aliasTarget.command) {
      throw new this.serverless.classes
        .Error(`Alias "${alias}" is already defined for command ${aliasTarget.command}`);
    }
    // Check if the alias would overwrite an exiting command
    if (_.reduce(splitAlias, (__, aliasPath) => {
      if (!__ || !__.commands || !__.commands[aliasPath]) {
        return null;
      }
      return __.commands[aliasPath];
    }, this)) {
      throw new this.serverless.classes
        .Error(`Command "${alias}" cannot be overriden by an alias`);
    }
    aliasTarget.command = command;
  }