feat: graceful shutdown for lith — drain in-flight requests on restart
server.mjs catches SIGTERM/SIGINT, stops accepting new connections,
and waits up to 10s for in-flight requests to finish before exiting.
lith.service gets TimeoutStopSec=15 to match.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>