The log level can now be set by environment variable `XWIM_LOGLEVEL`.
Alternatively a default log level per build type (determined by NDEBUG flag) is
used.
Reliably stripping (multiple) archive extensions (e.g. .tar.gz) is not supported
by std::filesystem::path. Dots in the regular root folder name can cause issues.
fileformats.hpp adds well-known format extensions which are used for stripping
the extension.
Note that this is not used by libarchive or xwim to determine the
filters/formats for extraction. This is done by libarchive's `bidding`.