Replace OS-specific Path.GetInvalidFileNameChars() with a comprehensive
list of characters invalid on common filesystems (NTFS, FAT32, ext4, etc.)
to ensure files can be created on any filesystem regardless of host OS.
- Add InvalidFileNameChars array with all NTFS/Windows forbidden chars
- Add comprehensive unit tests for filename sanitization
- Fixes issue where '?', ':', '*', '<', '>', '|', '"', '\' were not sanitized on Linux
Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>