<!--- 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.


description = "Although Liquibase tries to provide a wide range of database refactorings, there are times you may" +
        " want to create your own custom refactoring class.\n" +
                "\n" +
                "To create your own custom refactoring, simply create a class that implements the liquibase.change.custom.CustomSqlChange " +
                "or liquibase.change.custom.CustomTaskChange interface and use the <custom> tag in your change set.\n" +
                "\n" +
                "If your change can be rolled back, implement the liquibase.change.custom.CustomSqlRollback interface as well.\n" +
                "\n" +
                "For a sample custom change class, see liquibase.change.custom.ExampleCustomSqlChange",
        priority = ChangeMetaData.PRIORITY_DEFAULT)
public class CustomChangeWrapper extends AbstractChange {
    /**
     * Non-private access only for testing.
     */
    CustomChange customChange;
    
    private String className;
    private SortedSet<String> params = new TreeSet<>();
    private Map<String, String> paramValues = new LinkedHashMap<>();
    private boolean configured;
    @Override
    public boolean generateStatementsVolatile(Database database) {
        return true;
    }
    /**
     * Return the CustomChange instance created by the call to {@link #setClass(String)}.
     */