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