net, syscall: use accept4 and SOCK_CLOEXEC on Linux

R=golang-dev, bradfitz, mikioh.mikioh, dave, minux.ma
CC=golang-dev
https://codereview.appspot.com/7227043
net: fix windows build

R=golang-dev, minux.ma
CC=golang-dev
https://codereview.appspot.com/7229050
go/build: undo CL 7129048

This broke 'godoc net/http'.

TBR=adg
CC=golang-dev
https://codereview.appspot.com/7235052
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>
test: add support for build tags.

This enables a few tests that were only executed
unconditionnally.

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