turn Wval to Want after compile-time-evaluating pure ops

At the moment, the optimizer turns literals like -5 into a WVal(-5), which is better than the previous call to prefix:<-> + Want(5), but now it's no longer a Want and cannot be used to dispatch to subs that take native values.

This branch creates a Want for Int, Num and Str results of compile-time evaluation in the Optimizer.

The changes have passed spectests on my machine, but then i re-arranged some commits and pulled in some recent changes, so i'll run the spectests again.