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

## Environment
**Liquibase Version**: `4.1.1`

**Liquibase Integration & Version**: Spring Boot

**Database Vendor & Version**: Postgres 12.3

**Operating System Type & Version**: Ubuntu 20.04

## Description
There's a regression after upgrading from `4.1.0` to `4.1.1` that is causing `StackOverflowError` while generating Postgres statement during processing a large SQL file-based changeset.  It seems to be a regression
introduced in #912  while trying to fix [CORE-3379](https://liquibase.jira.com/browse/CORE-3379).

## Steps To Reproduce
Create a changeset:

```xml
<changeSet id="StackOverflowError" author="goostleek">
    <sqlFile path="large.sql" relativeToChangelogFile="true"/>
</changeSet>
```

The `sqlFile` is ~200kb. It's been included in [the file](https://github.com/liquibase/liquibase/blob/2bb6acad174723e770f43411fbeae2a68e2af691/liquibase-core/src/test/resources/liquibase/change/long-statement.sql) in the PR #1508 which introduces a failing unit test presenting the error.

## Actual Behavior
`StackOverflowError` is thrown during SpringBoot application startup while applying the changest.

## Expected/Desired Behavior
The changeset is executed successfully like it was before upgrading to Liquibase 4.1.1.

## Additional Context
See #912, #1508


private boolean seenNonSpace;
        public NormalizingStream(String endDelimiter, Boolean splitStatements, Boolean stripComments, InputStream stream) {
            this.stream = new PushbackInputStream(stream, 2048);
            try {
                this.headerStream = new ByteArrayInputStream((endDelimiter+":"+splitStatements+":"+stripComments+":").getBytes(GlobalConfiguration.OUTPUT_FILE_ENCODING.getCurrentValue()));
            } catch (UnsupportedEncodingException e) {
                throw new UnexpectedLiquibaseException(e);
            }
        }
        @Override
        public int read() throws IOException {
            if (headerStream != null) {
                int returnChar = headerStream.read();
                if (returnChar != -1) {
                    return returnChar;
                }
                headerStream = null;
            }
            int returnChar = stream.read();
            if (isWhiteSpace(returnChar)) {
                returnChar = ' ';
            }
            while ((returnChar == ' ') && (!seenNonSpace || (lastChar == ' '))) {
                returnChar = stream.read();
                if (isWhiteSpace(returnChar)) {
                    returnChar = ' ';
                }
            }
            seenNonSpace = true;
            lastChar = returnChar;