After moving parsing into model and resolution into the core service, the test
suite had parser tests duplicated across layers and builder tests in the wrong
file. Realign them to match the production structure:
- Move the GetLyricsBySongId response-building tests into a new
server/subsonic/lyrics_test.go, matching the extracted server/subsonic/lyrics.go.
- Replace the per-format parse-output assertions in core/lyrics/sources_test.go
with a suffix-dispatch table; keep the core-only encoding (BOM/UTF-16) and
not-exist cases. Parser correctness is covered in the model tests.
- Drop the duplicate embedded TTML/SRT parse assertions in the metadata mapping
tests; keep the tag-cap (>32KB) guard as a mapping-level smoke check.
- Trim the subsonic GetLyrics handler tests to handler wiring, dropping the
source-priority resolution and Options.Max assertions now owned by the core
service tests.
- Rename the core lyrics Describe to "Lyrics" and nest GetLyricsByArtistTitle.
No production code changed; coverage is preserved at the correct layer.