feat(import): byte-hash dedup + batch-safe collisions for audio/text imports
Bring the generic audio/text import path to parity with the file-importer
path on byte-hash duplicate detection, and make collisions catchable in a
batch loop.
- Re-importing the same audio/text bytes is detected as a duplicate before
the timestamp-detection LLM call, printing the same "already imported"
message the file importers give; --force still re-imports.
- import_one() directory collisions raise a catchable FileExistsError instead
of SystemExit; the human `sol import` CLI still surfaces the same message
and exit code 1 via main()'s wrapper.
- Successful audio/text imports now write a dedup manifest.json with correct
days_affected for the YYYYMMDD/stream/segment/file layout.
- write_manifest now records import_id (it already took the param) and accepts
an optional days_affected to avoid path-derivation across two layouts.
- detect_created() no longer writes gemini_debug_* files to /tmp.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>