Bound provider discovery, not just tools/list middleware

Put discovery deadlines at the provider boundary when cold tool lookup can internally refresh schemas. A timeout only around the public tools/list handler leaves that internal path unbounded; a global client request timeout also cuts off legitimate long-running execution. Bound connection, initialization and paginated discovery together, preserve cancellation, and verify elapsed HTTP behavior including cleanup. Bound concurrent documentation probes and their lock queues too. Sanitize propagated exception text because an outer framework may log it verbatim. This applies to aggregate MCP gateways; it prevents one hanging source from stalling healthy/native tools but cannot make unavailable sources execute or prove a historical client incident.