runtime: ensure minTriggerRatio never exceeds maxTriggerRatio
runtime: ensure minTriggerRatio never exceeds maxTriggerRatio

Currently, the capping logic for the GC trigger ratio is such that if
gcpercent is low, we may end up setting the trigger ratio far too high,
breaking the promise of SetGCPercent and GOGC has a trade-off knob (we
won't start a GC early enough, and we will use more memory).

This change modifies the capping logic for the trigger ratio by scaling
the minTriggerRatio with gcpercent the same way we scale
maxTriggerRatio.

Fixes #37927.

Change-Id: I2a048c1808fb67186333d3d5a6bee328be2f35da
Reviewed-on: https://go-review.googlesource.com/c/go/+/223937
Run-TryBot: Michael Knyszek <4473450dc5c88f06e1fb787f303d7805ec2aee65@google.com>
TryBot-Result: Gobot Gobot <66cb808b70d30c07676d5e946fee83fd561249e5@golang.org>
Reviewed-by: Austin Clements <7ea35d812706d9213868749011af1ed4fa2f6aa0@google.com>

cloudflare/go,golang/go,cloudflare/go,cloudflare/go,CAFxX/go,nawawi/go,golang/go,golang/go,cloudflare/go,akutz/go,golang/go,akutz/go,akutz/go,cloudflare/go,golang/go,CAFxX/go,cloudflare/go,nawawi/go,nawawi/go,nawawi/go,akutz/go,CAFxX/go,akutz/go,nawawi/go,nawawi/go,golang/go,CAFxX/go,golang/go,CAFxX/go,nawawi/go,golang/go,akutz/go,cloudflare/go,akutz/go,cloudflare/go,nawawi/go,CAFxX/go,CAFxX/go,CAFxX/go,akutz/go