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.
Simplify CallExp::interpret()

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.