runtime: use acquirem/releasem more widely
runtime: use acquirem/releasem more widely

We've copy-pasted the pattern of releasem in many places. This CL
replaces almost everywhere that manipulates g.m.locks and g.preempt
with calls to acquirem/releasem. There are a few where we do something
more complicated, like where exitsyscall has to restore the stack
bound differently depending on the preempt flag, which this CL leaves
alone.

Change-Id: Ia7a46c261daea6e7802b80e7eb9227499f460433
Reviewed-on: https://go-review.googlesource.com/c/go/+/170064
Run-TryBot: Austin Clements <7ea35d812706d9213868749011af1ed4fa2f6aa0@google.com>
TryBot-Result: Gobot Gobot <66cb808b70d30c07676d5e946fee83fd561249e5@golang.org>
Reviewed-by: Brad Fitzpatrick <ae9783c0b0efc69cd85ab025ddd17aa44cdc4aa5@golang.org>

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