fix Issue 9946 - A UFCS disallowed in dynamic array allocation

`TypeQualified::idents` may have both `Identifier` and `TemplateInstance` objects. It should be treated correctly, as like as `Dsymbol::searchX` and `TypeQualified::resolveHelper`.
fix Issue 9311 - shared library file extension incorrectly modified
Fixes Issue 10011 - Wrong JSON "init" property output for class reference initializers.
Get rid of nasty macros in interpret.c (interpretCommon)
Merge pull request #1934 from 9rnsr/fix9946

Issue 9946 - A UFCS disallowed in dynamic array allocation
Merge pull request #1949 from AndrejMitrovic/Fix10011

Issue 10011 - Wrong JSON "init" property output for class reference initializers.
Follow the standard pattern to get the length of an array - this allows the pattern to be detected automatically
TypeQualified::idents are not always Identifiers, so stop pretending they are
Make __locale_decpoint const char *
Remove unused union from stringtable
Add missing default cases to some switches
Remove unused OutBuffer from ComplexExp
#define alias - stdmsg
Get rid of nasty EXP_CANT_INTERPRET cast hack
Fix Issue 6169 - [CTFE] pure functions cannot compute constants using functions not marked as pure

When running semantic on an expression used anywhere that forces compile time evaluation, use a scope flag to prevent purity and safety checks on function calls.
This allows better purity/safety inferrence as well.
Merge pull request #1958 from yebblies/expcantinterpret

Get rid of nasty EXP_CANT_INTERPRET cast hack
Merge pull request #1956 from yebblies/unusedoutbuffer

Remove unused OutBuffer from ComplexExp
Merge pull request #1952 from yebblies/missingdefault

Add missing default cases to switches
Merge pull request #1711 from yebblies/removeinterpretmacros

Get rid of nasty macros in interpret.c
Merge pull request #1950 from yebblies/arraylength

[DDMD] Follow the standard pattern to get the length of an array - this allows the pattern to be detected automatically