- scan: new --from-photo <img> option extracts EAN via Vision-LLM,
then falls through to existing MusicBrainz barcode lookup
- ripper: MB disc loop now retries the same disc on rip failure instead
of printing "Bitte Album neu starten"; user decline raises RuntimeError
- .gitignore: suppress temp/ directory
- tests: 4 new tests for scan --from-photo (225 total)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>