Add test case to cover version.c.
Print debug/version level instead of __anonymous in error messages.

When integer debug/version levels are used, ident is not defined,
causing Dsymbol::toChars() to print "__anonymous", which is unhelpful.
Instead, it should return the debug/version level being set as an
integer.
Merge pull request #4171 from quickfur/issue13786_version

Issue 13786: Add test case to cover version.c.
[Refactoring] Make interpretFourPointerRelation static

Explicitly returning result from the non trivial helper function would be better than implicit result setting.
[Refactoring] A small code flow improvement in AndAndExp and OrOrExp
Improve error messages in CTFE interpreter
+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.

+
Stop generating internal __cpctor function so it's just redundant

Instead we can directly memcpy the object, then call the postblit.