Fix bug 10283 ICE(interpret.c): passing struct with failed initializer to CTFE

If a struct literal contains an error field, it's an error.
Remove last case of optimize(WANTinterpret)
Fix bug 10280 CTFE: Circular variable initializers should be detected properly

Use the existing 'inuse' mechanism to detect cycles.
Fix bug 10275 CTFE: allow const casts of struct literals

This was permitted in const-folding, but not in CTFE until now.
Do all interpreting inside CTFE

instead of in the optimizer
Entirely remove WANTinterpret from the compiler

It is no longer used.