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


## Environment
**Liquibase Version**: 4.4.0

**Liquibase Integration & Version**: Quarkus

**Liquibase Extension(s) & Version**: 

**Database Vendor & Version**: H2

**Operating System Type & Version**: Fedora

## Description
I have noticed a large performance degradation between 4.4.0 and 4.3.5. When running the test for https://github.com/jhipster/jhipster-sample-app-quarkus using version 4.4.0 instead of 4.3.5 adds around 90s to the total testsuite runtime.

This appears to be due to `liquibase.configuration.pro.EnvironmentValueProvider` it seems to be used a lot to look for:

[liquibase.filterLogMessages]
[liquibase.pro.licenseKey]
[liquibase.hub.apiKey]

these same values are looked up repeatedly, and the iteration over all the env vars and then calling `StringUtil.toKabobCase` ends up being really expensive.

## Steps To Reproduce
Build build and test https://github.com/jhipster/jhipster-sample-app-quarkus, note the total build time, change to version 4.4.0 and build, locally I see an extra 2m total time.

## Actual Behavior
It is much slower than it used to be.

## Expected/Desired Behavior
Performance will be comparable to 4.3.5


private static List<Object> mergeTokens(List<Object> parsedArray, String endDelimiter) {
        if (endDelimiter == null) {
            return parsedArray;
        }
        List<Object> returnList = new ArrayList<>();
        List<String> possibleMerge = new ArrayList<>();
        for (Object obj : parsedArray) {
            if (possibleMerge.size() == 0) {
                if ((obj instanceof String) && endDelimiter.startsWith((String) obj)) {
                    possibleMerge.add((String) obj);
                } else {
                    returnList.add(obj);
                }
            } else {
                String possibleMergeString = StringUtil.join(possibleMerge, "") + obj.toString();
                if (endDelimiter.equals(possibleMergeString)) {
                    returnList.add(possibleMergeString);
                    possibleMerge.clear();
                } else if (endDelimiter.startsWith(possibleMergeString)) {
                    possibleMerge.add(obj.toString());
                } else {
                    returnList.addAll(possibleMerge);
                    returnList.add(obj);
                    possibleMerge.clear();
                }
            }
        }
        return returnList;
    }
    /**