runtime: simplify and cleanup mallocinit
runtime: simplify and cleanup mallocinit

mallocinit has evolved organically. Make a pass to clean it up in
various ways:

1. Merge the computation of spansSize and bitmapSize. These were
   computed on every loop iteration of two different loops, but always
   have the same value, which can be derived directly from _MaxMem.
   This also avoids over-reserving these on MIPS, were _MaxArena32 is
   larger than _MaxMem.

2. Remove the ulimit -v logic. It's been disabled for many releases
   and the dead code paths to support it are even more wrong now than
   they were when it was first disabled, since now we *must* reserve
   spans and bitmaps for the full address space.

3. Make it clear that we're using a simple linear allocation to lay
   out the spans, bitmap, and arena spaces. Previously there were a
   lot of redundant pointer computations. Now we just bump p1 up as we
   reserve the spaces.

In preparation for #18651.

Updates #5049 (respect ulimit).

Change-Id: Icbe66570d3a7a17bea227dc54fb3c4978b52a3af
Reviewed-on: https://go-review.googlesource.com/35252
Reviewed-by: Russ Cox <5ad239cb8a44f659eaaee0aa1ea5b94947abe557@golang.org>

nawawi/go,ImJasonH/go,ImJasonH/go,cloudflare/go,linux-on-ibm-z/go,golang/go,polyverse-security/go,derekmarcotte/go,cloudflare/go,akutz/go,linux-on-ibm-z/go,codestation/go,nawawi/go,akutz/go,polyverse-security/go,nawawi/go,vsekhar/elastic-go,Cofyc/go,nawawi/go,Cofyc/go,akutz/go,nawawi/go,vsekhar/elastic-go,ImJasonH/go,akutz/go,vsekhar/elastic-go,polyverse-security/go,codestation/go,polyverse-security/go,cloudflare/go,golang/go,cloudflare/go,akutz/go,codestation/go,Cofyc/go,derekmarcotte/go,cloudflare/go,vsekhar/elastic-go,linux-on-ibm-z/go,ImJasonH/go,ImJasonH/go,CAFxX/go,golang/go,cloudflare/go,josharian/go,CAFxX/go,Cofyc/go,CAFxX/go,akutz/go,linux-on-ibm-z/go,golang/go,linux-on-ibm-z/go,linux-on-ibm-z/go,josharian/go,derekmarcotte/go,CAFxX/go,christopher-henderson/Go,nawawi/go,cloudflare/go,cloudflare/go,akutz/go,derekmarcotte/go,josharian/go,Cofyc/go,ImJasonH/go,josharian/go,josharian/go,polyverse-security/go,ImJasonH/go,vsekhar/elastic-go,polyverse-security/go,derekmarcotte/go,nawawi/go,codestation/go,linux-on-ibm-z/go,codestation/go,linux-on-ibm-z/go,CAFxX/go,derekmarcotte/go,codestation/go,josharian/go,golang/go,vsekhar/elastic-go,akutz/go,josharian/go,Cofyc/go,golang/go,CAFxX/go,golang/go,vsekhar/elastic-go,golang/go,nawawi/go,derekmarcotte/go,ImJasonH/go,Cofyc/go,codestation/go,CAFxX/go,codestation/go,polyverse-security/go,josharian/go,CAFxX/go,polyverse-security/go,derekmarcotte/go,vsekhar/elastic-go,Cofyc/go