Slice 1 generic search patch

Included changes:
- Generic search DTOs, planner, orchestrator, engine SPI
- PostgreSQL full-text engine and repository
- PostgreSQL trigram engine and repository
- Score normalization and result fusion
- Generic /search endpoint
- Lexical index maintenance service and startup backfill runner
- DOC lexical search migration (V14)
- Modified DOC representation write path to refresh search vectors

Important note:
- Full-text search requires V14__doc_search_slice1_support.sql to be applied.
- The lexical index service is guarded and will no-op if the search columns are not yet present.
- Because Flyway is currently disabled in application.yml, apply the migration manually or enable Flyway before using the new search endpoint.
