Corrections for C++11 Correctness
C++11 Narrowing Violation Correction
Fix broken test case 7159

The existing test uses a cast from delegate to void*, which is deprecated.
This revised test case still fails on 2.059, but uses a valid cast.
Disable test case for horrific cast in deprecated code

This test case contains a compile-time cast from one function
type to another, which would inevitably cause a segfault at runtime if
called. This seems like an unnecessary feature.
To support this properly would require specific CTFE support. But historically
the compiler has not done much checking of compile-time values, presumably
it's an accident that it was ever accepted.
Disable this test.
Fix bug 10211: CTFE: Allow cast S**->D**, if S*->D* is OK
fix Issue 10208 - Module-level const/immutable variables with initialization value don't support UDAs
fix Issue 10212 - Segfault in mismatching delegate literal types
CTFE: fix segfault after ICE in DotVarExp

If an ICE occurs in DotVarExp, it would segfault when trying to dereference
EXP_CANT_INTERPRET.
CTFE: DotTypeExp cannot be interpreted

Generate an ICE if it tries, rather than an incomprehensible error.
CTFE: Don't save local variables in the global constants list

Even if they are immutable local variables (eg, bug 8400)
CTFE: Add ctfeInterpretForPragmaMsg

pragma(msg) needs to be treated as a special case since it allows
Types and aliases, as well as expressions.
A TemplateExp cannot be a template value parameter
CTFE: non-property functions arent template values

If it's still a function after property resolution,
don't interpret it. (optimize(WANTinterpret) was a no-op,
so this then failed later).
Dont run CTFE on dotvar, dottype alias template parameters

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

It's guaranteed to fail, it's been passing only because it was a no-op.
Merge pull request #2100 from 9rnsr/fix10208

Issue 10208 - Module-level const/immutable variables with initialization value don't support UDAs
Merge pull request #2098 from donc/ctfe_evilcasts

Remove evil CTFE casts from the test suite
Merge pull request #2099 from donc/ctfe10211pointercasts

Fix bug 10211: CTFE: Allow cast S**->D**, if S*->D* is OK
Merge pull request #2104 from donc/ctfe_InterpretPragmaMsg

Refactor: pragma(msg) shouldn't always run CTFE.
Merge pull request #2105 from donc/ctfe_internal_fixes

Ctfe internal fixes