[release-branch.go1.3] runtime: keep g->syscallsp consistent after cgo->Go callbacks

This is a manual backport of CL 131910043
to the Go 1.3 release branch.

We believe this CL can cause arbitrary corruption
in programs that call into C from Go and then
call back into Go from C.

This change will be released in Go 1.3.2.

LGTM=iant
R=iant, hector
CC=adg, dvyukov, golang-codereviews, r
https://codereview.appspot.com/142690043

Committer: Andrew Gerrand <adg@golang.org>