fix Issue 13802 - Improve pretty-print result for the const(string) type
fix Issue 13803 - Improve pretty-print result for the wstring an dstring types
Merge pull request #4185 from 9rnsr/fix_pp_string

Issue 13802 & 13803 - Improve pretty-print result for the three string types
[] mask permutation of runnable tests
[Refactoring] A small code flow improvement in AndAndExp and OrOrExp
+stash for the code style changes
Simplify CallExp::interpret() and support DotTypeExp in CTFE

Handle function values in each CTFE steps, then interpreting CallExp::e1 just only once will be enough.

Problematic case is a __cpctor call. In it, the 'this' expression is an
unilitialized variable so we need to initalize it before the interpretation of e1.

Also simplify ThisExp::interpret, comes from CallExp improvement.
Stop generating internal __cpctor function so it's just redundant

Instead we can directly memcpy the object, then call the postblit.
Remove ctfeNeedLvalueRef and ctfeAnyValue

+all test ok

remove resolveReferences and so on
Update validator and fix a bug in InExp::interpret()
+clean up statement interpretation
-validator