feat(resilience): add circuit breaker for downstream services
- New CircuitBreaker class: CLOSED → OPEN → HALF_OPEN three-state model
- Zero external dependencies, ~90 lines, fail-open semantics
- KnowledgeClientService: threshold=5, cooldown=60s, protects all 9 endpoints
- PaymentClientService: threshold=3, cooldown=30s, protects all 7 endpoints
- Both services refactored to use protectedFetch() — cleaner code, fewer try-catch
- Replaces verbose per-method error handling with centralized circuit breaker
- When tripped: returns null/empty fallback instantly, no network call
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>