fix Issue 9311 - shared library file extension incorrectly modified
Remove unused union from stringtable
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.
fix Issue 9883 - Error on using property as new dynamic array size
Merge pull request #1964 from 9rnsr/fix9883

Issue 9883 - Error on using property as new dynamic array size
Merge pull request #652 from yebblies/issue6169

Issue 6169 - [CTFE] pure functions cannot compute constants using functions not marked as pure
Merge pull request #1954 from yebblies/nounion

Remove unused union from stringtable
Merge pull request #1944 from WalterBright/fix9311

fix Issue 9311 - shared library file extension incorrectly modified