Fix segfault when calling Error.throw on x86-32
Fix segfault when calling Error.throw on x86-32

Slash produces a segfault when executing "Error.new.throw" on 32-bit
systems.

The problem is that sl_throw has no return value (void) but gets called
as if it would return a SLVAL. The address of the return value is then
added by the caller before the other parameters and if that happens, the
"vm"-parameter contains the address to uninitialized SLVAL of the
caller - which is of course invalid.

This fix solves the problem by just wrapping the sl_throw call in a
function with a matching function signature. That way the return value
is "pop"-ed before the parameters.

This problem does not appear on 64-bit systems because the return value
has a dedicated register and does not "get in the way" of the other
parameters.

slash-lang/slash,slash-lang/slash,slash-lang/slash,slash-lang/slash,slash-lang/slash,slash-lang/slash