Fix bug in code generation with "for" statements

The error was due to a spurius extra argument in expr_toreg. Probably
a remnant of the method's interface change introduced many commits ago.

Fix contributed by Daniel Kolesa.
Add additional tests related to logical evaluations
Fix error in bytecode generator with conditional expression evaluation

The logic of the previous code was wrong because in "expr_test" method
when a store was requested, the store was done unconditionally. Instead
the store should be done only if the the test result is positive.
Basically this is accomplished using the ISTC/ISFC instructions generated
using the method "op_testmov".

The previous test rule for the identifier was is no longer needed as the
general rule can be applied instead.

Github issue:

https://github.com/franko/luajit-lang-toolkit/issues/7