Adds logging of OEM lead distribution request/response payloads to S3 and a new lead_distribution_log table, with a console view for browsing and downloading logs. Well-structured change that captures the payloads at the right layer (client classes) and surfaces them through a clean console UI. A few issues worth addressing before merge.
Path: Lead distribution with event logging
When LeadDistributionService.sendLeadActivityToProgram() runs (transactionally), it delegates to the appropriate program service (Shift/Ford/Mitsubishi/VW). Each service's client class (ShiftClient, FordDirectDelivrClient, UniteDigitalClient) now serializes the request to a string first, sends the string, captures the raw response string, deserializes it, and wraps all three in a LeadDistributionClientResult<T>. The service layer builds LeadDistributionEvent objects from these results and returns them in `LeadD