HTTP infrastructure shared across modules.
A thin wrapper on top of client_util::build_https_client that adds: timeouts,
transport retry with jitter, HTTP/HTTPS proxy support, and a unified User-Agent.
HTTP client abstraction for the agent.
Current consumers: defect-llm (various LLM providers); planned: defect-tools'
fetch tool. This layer is extracted into its own crate to prevent the latter from
depending on defect-llm (which would create an inverted dependency).
Public entry points are only [build_http_stack], [HttpStackConfig], [HttpStack],
and [HttpStackError]. Concrete layer implementations live in submodules as
pub(crate) and are not exposed outside the crate — callers see only a type-erased
Service.