runtime: fix memory profiler
There are 3 issues:
1. Skip argument of callers is off by 3,
so that all allocations are deep inside of memory profiler.
2. Memory profiling statistics are not updated after runtime.GC.
3. Testing package does not update memory profiling statistics
before capturing the profile.
Also add an end-to-end test.
Fixes issue 8867.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://codereview.appspot.com/148710043
runtime: make pprof a little nicer

Update issue 8942

This does not fully address issue 8942 but it does make
the profiles much more useful, until that issue can be
fixed completely.

LGTM=dvyukov
R=r, dvyukov
CC=golang-codereviews
https://codereview.appspot.com/159990043
runtime/pprof: disable new memory test

It cannot run 'go tool pprof'. There is no guarantee that's installed.
It needs to build a temporary pprof binary and run that.
It also needs to skip the test on systems that can't build and
run binaries, namely android and nacl.

See src/cmd/nm/nm_test.go's TestNM for a template.

Update issue 8867
Status: Accepted

TBR=dvyukov
CC=golang-codereviews
https://codereview.appspot.com/153710043
syscall: don't cache environment variables on Plan 9

Fixes issue 8849.

LGTM=bradfitz, aram
R=bradfitz, rsc, aram
CC=golang-codereviews
https://codereview.appspot.com/158970045
CONTRIBUTORS: add Damien Neil

LGTM=r
R=r
CC=golang-codereviews
https://codereview.appspot.com/159920044

Committer: Rob Pike <r@golang.org>
reflect: fix struct size calculation to include terminal padding

LGTM=r
R=r
CC=golang-codereviews
https://codereview.appspot.com/160920045

Committer: Rob Pike <r@golang.org>
spec: define "variable"

Fixes issue 8496.

LGTM=rsc, r, iant
R=r, rsc, iant, ken
CC=golang-codereviews
https://codereview.appspot.com/148580043