- Add removed_date field to ValuationHistoryItem (extracts 2nd DD.MM.YYYY in chunk)
- RE_FLOORS: \d+\s+этаж → \d+\s+этажей (plural-only to avoid matching item floors)
- Normalize NBSP \xa0 → space in parse() before regex (fixes start_price_per_m2 / last_price_per_m2 = NULL bug)
- Add ValuationHouseMeta.validate_match() for cross-checking against expected house
Bugs observed on prod: 160 rows in house_placement_history with all
removed_date=NULL, total_floors=NULL, *_price_per_m2=NULL.