Extract buildAuthenticatedClient() helper to eliminate duplicate MSAL token
acquisition logic in getCalendarEvents and getEventById. Add eventId validation
and error wrapping with cause chain in getEventById.
New tests verify eventId type and empty-string checks.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>