Fix _jd_to_utc_datetime: clamp second/minute to valid range
- Floating-point precision in swe.revjul + round() can produce second=60
which raises ValueError('second must be in 0..59')
- Clamp second to 0..59 and carry over to minute/hour as needed
- Root cause of 'Error executing tool get_lunar_state: second must be in 0..59'
for dates where the binary search in _refine_phase_transition produced
JD values with precision edge cases