Typo fixes in comments
Refactor: move is_zero & is_one from local to constfold.cpp into members
of RuntimeOptimizer.  Because these test internally whether the symbol
is a constant, we can also change some "if (A->is_constant && is_zero(A))"
to the simpler "if (is_zero(A))", and similar for is_one.
Latent bug fix: missed proper initialization of arrays of closures
Combine closure construction with the almost inevitably next 'mul'
to turn it into a single allocation, single operation.
Also find some more constant-weight shortcuts in closure construction.