mark some numeric operators as pure
first shot at constant folding

so far it does nothing, but also breaks nothing. It seems that the multi dispatch call optimization comes first, and interferes with this one
move constant folding code to the correct location; some small fixes
Merge remote branch 'origin/nom' into constant-folding
constant folding cleanup

* catch it when the routine to be folded errors out
* make sure to preseve namedness of named arguments
* remove debug output
=> all spectests pass!
update ChangeLog