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


for (String key : keyAndAliases) {
            
            if (sourceData.containsKey(key)) {
                final Object foundValue = sourceData.get(key);
                if (isValueSet(foundValue)) {
                    return new ProvidedValue(keyAndAliases[0], key, foundValue, getSourceDescription(), this);
                }
            }
            for (Map.Entry<?, ?> entry : sourceData.entrySet()) {
                final String actualKey = String.valueOf(entry.getKey());
                if (keyMatches(key, actualKey)) {
                    final Object value = entry.getValue();
                    if (isValueSet(value)) {
                        return new ProvidedValue(keyAndAliases[0], actualKey, value, getSourceDescription(), this);
                    }
                }
            }
        }
        return null;
    }
    /**
     * Used by {@link ConfigurationValueProvider#getProvidedValue(String[])} to determine if the given value is a "real" value.
     * This implementation returns false if value is null or if it is an empty string
     */
    protected boolean isValueSet(Object value) {
        if (value == null) {
            return false;
        }
        if (value instanceof String) {
            return StringUtil.isNotEmpty((String) value);