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;
  }