Map a single RHF rule to engine RuleJson with timezone-aware clamps.
Starts: date-only → midnight in tz; datetime → exact wall time in tz.
Ends:
• endDatesInclusive=true: ignore time-of-day and clamp to midnight of the NEXT day in tz
• endDatesInclusive=false: date-only → midnight in tz; datetime → exact wall time in tz
Map a single RHF rule to engine RuleJson with timezone-aware clamps.