CTFE: &global -> SymOffExp

optimize() changes AddrExp(globalvar) into a SymOffExp.
But optimize() isn't always called before CTFE, so do it here too.
Forward referenced const as template value parameter

The problem is that the constness of the variable hasn't
been determined yet, so it will fail CTFE.
Not sure if this is correct (see also bug 10075).
A TemplateExp cannot be a template value parameter
Don't run CTFE on template parameters

It's guaranteed to fail, it's been passing only because it was a no-op.
If this succeeds, we can probably remove the code that this is duplicating.
Dont interpret dotvar alias template parameters

A dotvar expression might be an alias, rather than a value.
Don't run CTFE in this case.