Refactor: pragma(msg) shouldn't always run CTFE.

This is part of my major project to unify optimize(WANTinterpret) and CTFE.
A crucial issue is to make sure that optimize(WANTinterpret) is called *only* when a value is required.

pragma(msg) needs to be treated as a special case since it allows types and aliases, as well as expressions, but everything else should be CTFE'd. This commit gives it a special entry point, to prevent types and aliases from being sent to ctfeInterpret().