Added support for if_o and unless_o

Due to general funkiness of if_o and unless_o operators,
this is a bit hacky, but nevertheless effective. Boolification
of objects is invokish in general. To deal with this, the interpreter
supplies the boolification function with 'true' and 'false' continuation
addresses. This is not feasibile for the JIT because bytecode
addresses do not correspond directly to JIT addresses. So instead
these ops are transformed as it were into the sequence of istrue /
isfalse followed by if_i. Register space outside of the range of locals
(that is to say, in the args buffer) is used to store the temporary
result of istrue/isfalse. It is conceivable this might fail, but
it seems to work now.