Fix bogus zero-length array test.

Issue 7175 was about .ptr always giving null for a zero-length
static array in a struct, despite the fact that the struct has
size 1 and thus certainly a non-null address.

The test case as modified by 36c9b64, however, checks that a
free-standing zero-length static array on the stack has an
address, which is quite a different scenario. From the spec,
I don't see a reason why zero-sized objects should need any
memory associated with them, so I am reluctant to pessimize
LDC's codegen over this.
Use an intermediate representation to reinterpret the value in Target::paintAsType
Fix Issue 3918 - Parameter use before its use in an AndAnd expression with reals treats NaN as false
Fix  Issue 12827 - [ICE] Segfault on immutable field self-initialization
Fix test output message
Fix test output message #2
fix Issue 13378 - Wrong failure of template value parameter deduction in IFTI
fix Issue 12531 - forward reference with nested struct
Remove special handling of delete aa[key].

This has been an error for a couple of years, and has been deprecated since pre D 1.0.
Remove special handling of old .offset property
Remove escape string literal error and improve error message
Remove error for old .typeinfo property
Fix Issue 5299 - Protected inheritance is semantically undefined

Deprecation -> Error
Fix Issue 3990 - Deferencing a dynamic array as pointer

Deprecation -> Error
fix Issue 13361 - Empty UDA accepted
Merge pull request #3898 from 9rnsr/fix13378

[REG2.066] Issue 13378 - Wrong failure of template value parameter deduction in IFTI
Do not rely on implicit construction of Prot
Remove #ifed out code
Fix shadowing in deduceType
Remove shadowing and use of goto in ForeachStatement::semantic