runtime: earlier detection of unused spans.

Mark candidate spans one GC pass earlier.

Move scavenger's code out from mgc0 and constrain it into mheap (where it belongs).

R=rsc, dvyukov, minux.ma
CC=golang-dev
https://codereview.appspot.com/7002049

Committer: Russ Cox <rsc@golang.org>
xml: differentiate between float32 and float64 for marshalSimple

R=golang-dev, rsc
CC=golang-dev
https://codereview.appspot.com/7235045

Committer: Russ Cox <rsc@golang.org>