Add shared normalizer helpers to centralize payload extraction, JSON decoding,
and event finalization/validation.
Refactor NWS, Open-Meteo, and OpenWeather observation normalizers to use the
shared spine, removing repeated boilerplate while preserving provider-specific
mapping logic.