use ErrorExp::errorexp instead of EXP_CANT_INTERPRET

This switches EXP_CANT_INTERPRET from being a magic pointer value to being an ErrorExp instance. Necessary for improving CTFE speed.
What's going on here? Why the double messages?