CTFE: run semantic on global variables

Only seems to happen with forward-referenced globals, for example:
const int c23 = b23 * b23;
const int a23 = 1;
const int b23 = a23 * 3;
Do all interpreting inside CTFE

instead of in the optimizer
Entirely remove WANTinterpret from the compiler

It is no longer used.
Merge pull request #2136 from donc/future_of_ctfe

Do all interpreting inside CTFE instead of in optimize(WANTinterpret)