SQL migration 112: ADD COLUMN IF NOT EXISTS для trёх таблиц (idempotent).
Scraper: _norm_flat section_no, _norm_object metro/freeFlatsInfo/dev_group_name,
UPSERT SQL расширены с COALESCE ON CONFLICT для всех новых полей.
CAST(:metro_top3 AS jsonb) — canonical psycopg3 bind для jsonb.
Поля catalog scraper 22d проставлены NULL-заглушками для будущего COALESCE.
Closes#297