gc: limit helper threads based on ncpu
gc: limit helper threads based on ncpu

When ncpu < 2, work.nproc is always 1 which results in infinite helper
threads being created if gomaxprocs > 1 and MaxGcproc > 1. Avoid this
by using the same limits as imposed helpgc().

R=golang-dev, rsc, dvyukov
CC=golang-dev
http://codereview.appspot.com/5176044

Committer: Russ Cox <5ad239cb8a44f659eaaee0aa1ea5b94947abe557@golang.org>

tav/go,tav/go,tav/go,tav/go,tav/go,tav/go,tav/go