Switch to using G_DISCARD for call_pv

PUTBACK was being called even for the error path which didn't use the
stack. Emitting the "script error" signal can involve running Perl code
(Irssi:core::destroy) therefore the stack can be reallocated. This
can result in the perl stack being corrupted because the local stack
pointer is out of date (although as it's use of freed memory the crash
is not always instant).
Merge pull request #49 from dgl/stackem

Move PUTBACK to within the scope which uses the stack