When iterative refill was enabled, zone keepouts were being completely ignored. The buildCopperItemClearances() function was called with aIncludeZoneClearances=false, which skipped keepout processing. Also, buildDifferentNetZoneClearances() incorrectly excluded rule areas, and refillZoneFromCache() did not subtract keepout zones at all. This patch adds rule area handling to both functions and adds keepout subtraction logic to refillZoneFromCache(). Fixes https://gitlab.com/kicad/code/kicad/-/issues/22809