The DRC engine's constraint evaluation for SOLDER_MASK_EXPANSION_CONSTRAINT,
SOLDER_PASTE_ABS_MARGIN_CONSTRAINT, and SOLDER_PASTE_REL_MARGIN_CONSTRAINT
only checked for pad-level local overrides. This fix adds the fallback to
check the parent footprint's local override when the pad doesn't have one.
The priority hierarchy is now:
1. Pad local override
2. Parent footprint local override
3. DRC rules
4. Board default
Also fixed potential null pointer dereference in the REPORT statement which
previously assumed 'pad' was always valid even when the override came from
a PCB_SHAPE or PCB_TRACK.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/22751