Refactored const-fold, errors handled higher up
Constant folding takes account of signed/unsigned
Check for << or >> greater than type width
Extracted intval_str() code
Warning on implicit casts changing constant values