<!--- 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**: Maven

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

**Database Vendor & Version**: All

**Operating System Type & Version**: Any


## Description

I am using XML changelog with <includeAll> for which path is mandatory in a zip file

```
<includeAll path="" relativeToChangelogFile="true" filter="my.XMLFilter"/>
```

I want to include all files in the directory of the changelog.
1. `<includeAll path="">` => Not working, is resolved to root of the zip archive
2. `<includeAll path=".">` => Not working, path is not normalized and ZipFileSystem does not resolve `myfolder/./` as `myfolder/`

## Steps To Reproduce

PR with unit Test to come...

## Actual Behavior
First case run into stack overflow
Second case does not find any file


## Expected/Desired Behavior
Expected behavior is to have the same behavior as regular file system


## Additional Context
Resolution can be to modify liquibase.resource.FileSystemResourceAccessor lines 237 - 239:

From 
```
                    if (path != null) {
                        basePath = basePath.resolve(path);
                    }
```
To
```
                    if (StringUtil.isNotEmpty(path)) {
                        basePath = basePath.resolve(path).normalize();
                    }
```





* @deprecated use {@link FileSystemResourceAccessor#FileSystemResourceAccessor(File...)}
     */
    public FileSystemResourceAccessor(String file) {
        this(new File(file));
    }
    protected void addRootPath(Path path) {
        Scope.getCurrentScope().getLog(getClass()).fine("Adding path " + path + " to resourceAccessor " + getClass().getName());
        rootPaths.add(path);
    }
    protected LinkedHashSet<Path> getRootPaths() {
        return rootPaths;
    }
    protected File toFile(String path) {
        for (Path root : getRootPaths()) {
            File file = root.resolve(path).toFile();
            if (file.exists()) {
                return file;
            }
        }
        return new File(path);
    }
    @Override
    @java.lang.SuppressWarnings("squid:S2095")
    public InputStreamList openStreams(String relativeTo, String streamPath) throws IOException {
        streamPath = streamPath.replace("\\", "/");
        streamPath = streamPath.replaceFirst("^[\\\\/]([a-zA-Z]:)", "$1");
        final InputStreamList streams = new InputStreamList();
        streamPath = streamPath.replaceFirst("^/", ""); 
        if (relativeTo != null) {
            relativeTo = relativeTo.replace("\\", "/");