encapsulate memcpy with constructor
Merge pull request #4169 from WalterBright/memcpyctor

CTFE: encapsulate memcpy with constructor
[Refactoring] Add findGotoTarget to share common code
[Refactoring] Return NULL from WithStatement::interpret()
[Refactoring] Remove Statement::interpret()
[Refactoring] Remove Expression::interpret()
[Refactoring] Handle NULL Expression or Statement in interpret() call
Improve error messages in CTFE interpreter
[Refactoring] Make interpretFourPointerRelation static

Explicitly returning result from the non trivial helper function would be better than implicit result setting.
+stash for the code style changes
interpret FuncDeclaration as a VarExp

In CallExp, if its e1 is DotVarExp and pthis is a VarExp, interpreting
it to a literal would be problematic currently.
Later it should be fixed and CallExp::interpret should be simplified more.

-> Its a problem around __cpctor function call. Correctly initializing
new variable fixes the issue.
handle direct call (the flag should go in front-end)
+Support DotTypeExp
Remove ctfeNeedLvalurRef
ThisExp ref support1
ThisExp ref support2 (AddrExp &this)
Fix for test6178d() in test/runnable/testaa.d
Fix Appender CTFE for the unittests in std.string
Fix test/runnable/testaa3.d
+fix for 'phobos/std/regex/package.d' module