Re-applies the response-size limit from the deleted pkg/tools/web.go to
upstream's pkg/tools/integration/web.go. Wraps io.ReadAll on each search
provider's resp.Body with io.LimitReader against a named
searchMaxResponseSize constant (2 MB) to prevent unbounded memory growth
from hostile or buggy upstream search APIs.
Also normalises three existing inline `1<<20` (1 MB) limits upstream had
already applied to use the same named constant.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>