Fix bug 10275 CTFE: allow const casts of struct literals

This was permitted in const-folding, but not in CTFE until now.
Allow NullExp as struct hidden member in struct literals

Since CTFE will create null hidden pointers.
Fix bug 10217 ICE(root.c) with nested struct.init.tupleof in CTFE

CTFE version of bug 9315, almost exactly the same fix.
If a nested struct has no initialized hidden pointer, set it to null
to match the runtime behaviour.
fix Issue 5988 - Template accepts instantiating an already-instantiated template type
Merge pull request #2137 from donc/ctfe10275caststructlit

10275 CTFE: allow const casts of struct literals
Merge pull request #2107 from donc/ctfe_10217_ice_nestedstruct

10217: ICE(root.c) with nested struct.init.tupleof in CTFE
Merge pull request #2051 from 9rnsr/fix5988

Issue 5988 - Template accepts instantiating an already-instantiated template type