Audit confirmed: DOM.RF /portal/table API returns price=null for 99.7% of flats
(both price_rub and price_per_m2 are NULL). Root cause is API limitation — per-flat
pricing lives in a separate catalog endpoint not yet scraped (BUG #22).
Adds defensive fallback in _norm_flat(): when price_rub is present but
pricePerSquareMeter is absent, derive price_per_m2 = round(price_rub / total_area, 2).
Covers partial API responses from any future endpoint that omits the computed rate.
Adds 107_backfill_price_per_m2.sql for historical rows (~849 affected).