[imcc] fix -O2 used_once: keep side-effecting ops #1036

allow used_once elimination only for purely functional ops
without side-effects.
Fixes t/compilers/imcc/reg/alloc.t test 2 alligator 2 - r9629
      t/compilers/imcc/reg/spill_old.t test 1 bug \#32996
and some more.

set ITPUREFUNC in the parser, as this is the best place to find them:
logical un_op and null; artithmetic bin_op and assign_op
ChangeLog: add fix for GH #1036