Fix bug 10599 CTFE assert with bad struct initializer

This is an ErrorExp propagation/gagging bug. Errors in struct initializers
don't generate error messages when used, but still need to report an
error to the enclosing function.
Fix bug 1982 [CTFE] Problems with compile-time null

Test case only. This was fixed by doing const-folding in CTFE.
Fix issue 7988 allow CTFE return values in compile-time exprs

Test case only. This bug was fixed by doing constfolding in CTFE.
Fix issue 8253 ICE: calling of member function of non-CTFE class variable

Test case only, already fixed by doing constfolding in CTFE.
Fix issue 8285 Issue with slice returned from CTFE function

Test case only; fixed by using CTFE to do constfolding.
Merge pull request #2335 from donc/ctfe10599errorexp

10599 CTFE assert with bad struct initializer
Merge pull request #2339 from donc/fourCTFEtestcases

Test cases for bugs 1982, 7988, 8253, and 8285.
[REG2.064a] fix Issue 10624 - ICE with tuple comparison
[REG2.063] fix Issue 10600 - ICE: Assertion failed: (type->ty != Tstruct || ((TypeStruct *)type)->sym == this), function semantic, file struct.c, line 741.