Fix Extension.fix/3: directory paths, uppercase extensions, trailing dot
- Preserve directory component when rewriting filename (Path.join)
- Compare old extension case-insensitively (.JPEG matches .jpeg)
- Strip extension properly when no MIME candidates exist (no trailing dot)
- Use Path.basename(name) for append branches to avoid directory duplication