CTFE: copyLiteral() returns UnionExp
Merge pull request #4164 from WalterBright/copyliteral

CTFE: copyLiteral() returns UnionExp
[nitpick] improve code style
remove ctfeNeedLvalurRef (fin)
+fix for core.demangle unittest
fix for test/fail_compilation/diag11756.d
Tweak error message for test/fail_compilation/fail40.d
fix for test/runnable/opover2.d
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
(improve1)
(improve2)
More ArrayLiteralExp copy-on-write
+more
TupleExp must not appear in AssocArrayLiteralExp