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.
The interpreter has a confused relationship between an error and a cant interpret. As a result of making them both errors, it takes a slightly different path through. Some of the error messages as a result are clearer, some are less so. It can be improved, but it's a minor issue to be dealt with later.