runtime: improve mheap.alloc doc and let compiler check system stack
runtime: improve mheap.alloc doc and let compiler check system stack

The alloc_m documentation refers to concepts that don't exist (and
maybe never did?). alloc_m is also not the API entry point to span
allocation.

Hence, rewrite the documentation for alloc and alloc_m. While we're
here, document why alloc_m must run on the system stack and replace
alloc_m's hand-implemented system stack check with a go:systemstack
annotation.

Change-Id: I30e263d8e53c2774a6614e1b44df5464838cef09
Reviewed-on: https://go-review.googlesource.com/c/139459
Run-TryBot: Austin Clements <7ea35d812706d9213868749011af1ed4fa2f6aa0@google.com>
Reviewed-by: Michael Knyszek <4473450dc5c88f06e1fb787f303d7805ec2aee65@google.com>
Reviewed-by: Keith Randall <8c99c3a9284e493be632950b84cd789d08ed3e9d@golang.org>
TryBot-Result: Gobot Gobot <66cb808b70d30c07676d5e946fee83fd561249e5@golang.org>

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