Implement context timeout handling for all HTTP operations (Issue #13)
Added comprehensive timeout configuration to prevent indefinite hangs:
- Default HTTP client with 30s total timeout, 10s connection/TLS/headers
- Replaced all http.Get() with context-aware http.NewRequestWithContext()
- Added SetHTTPClient()/GetHTTPClient() for global configuration
- Added HTTPClient field to ClientOptions for per-client configuration
- Created IsTimeoutError() helper to detect timeout errors
- Timeout-specific error logging throughout OAuth flow
- 10 new test cases (timeout_test.go, errors_test.go)
- Updated web-demo to demonstrate custom timeout configuration
- Full documentation in README with examples
- All 286 tests passing
Zero breaking changes - all additions backwards compatible.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>