cgo: use correct frame size for 0 arguments
cgo: use correct frame size for 0 arguments

Passing a frame size of 1 was causing the cgo callback
to push 1 byte of arguments onto the stack, making
the stack pointer misaligned, which had the effect of
hiding all the pointers on the stack from the garbage
collector.

SWIG only wraps calls to C++ virtual methods, so it
always has at least 1 argument, so SWIG does not need
to be fixed too.

Fixes issue 1328.

R=iant
CC=golang-dev
http://codereview.appspot.com/4261046

tav/go,tav/go,tav/go,tav/go,tav/go,tav/go,tav/go