<!--- This environment context section helps us quickly review your PR. 
      Please take a minute to fill-out this information. -->

## Environment
**Liquibase Version**: 3.10

**Database Vendor & Version**: any

**Operating System Type & Version**: any

## Description
Create a custom change with a params list where there is no "name", it will trigger a NullPointerException instead of a nicer validation error explaining the problem.

## Steps To Reproduce
A changelog file with the following customChange:

```
     - customChange:
         class: com.company.customchanges.AddAttribute
         param:
           fieldType: '12'
           mandatory: '1'
           labelKey: userAttribute.firstName
           maxLength: '50'
           index: '2'
           newline: '1'
           readOnly: '1'
           visible: '1'
```

which **was generated by the Liquibase YamlChangelogSerializer!!** (which is a separate issue)
trriggered a NullPointerException.

## Actual Behavior
A NullPointerException without a message.

## Expected/Desired Behavior
A clearer validation error should be thrown indicating the cause of the problem.


@DatabaseChangeProperty(description = "Name class that implements the custom change.")
    public String getClassName() {
        return className;
    }
    /**
     * Specify a parameter on the CustomChange object to set before executing {@link liquibase.change.Change#generateStatements(liquibase.database.Database)}  or {@link #generateRollbackStatements(liquibase.database.Database)} on it.
     * The CustomChange class must have a set method for the given parameter. For example, to call setParam("lastName", "X") you must have a method setLastName(String val) on your class.
     */
    public void setParam(String name, String value) {
        this.params.add(name);
        this.paramValues.put(name, value);
    }
    /**
     * Returns the parameters set by {@link #setParam(String, String)}. If no parameters are set, an empty set will be returned
     */
    @DatabaseChangeProperty(isChangeProperty = false)
    public SortedSet<String> getParams() {
        return Collections.unmodifiableSortedSet(params);
    }
    /**
     * Get the value of a parameter set by {@link #setParam(String, String)}. If the parameter was not set, null will be returned.
     */
    public String getParamValue(String key) {
        return paramValues.get(key);
    }
    /**
     * Call the {@link CustomChange#validate(liquibase.database.Database)} method and return the result.
     */
    @Override
    public ValidationErrors validate(Database database) {