runtime: fix stack pointer corruption in runtime.cgocallback_gofunc()
runtime.setmg() calls another function (cgo_save_gm), so it must save
LR onto stack.
Re-enabled TestCthread test in misc/cgo/test.

Fixes issue 4863.

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/9019043