NewClient() now detects when the provided URL already ends with
/jsonrpc.php and avoids appending it again. This prevents double-path
issues like /jsonrpc.php/jsonrpc.php.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add full client configuration with fluent builder pattern:
- WithTimeout(duration) - configurable request timeout
- WithLogger(slog.Logger) - optional debug logging
- DefaultTimeout constant (30 seconds)
- Default HTTP client with timeout on construction
All fluent methods return same client instance for chaining.
Client is thread-safe for concurrent use.
Closes: kanboard-api-uls