Fix Issue 3672 - Read-modify-write operations should not be allowed for shared variables.
fix Issue 12749 - Constructor-local function allows multiple mutation of immutable member
Improve diagnostic messages
require opEquals for AA keys

- Check that the compiler can generate a runtime function to test AA keys for equality.

- This is necessary to switch the druntime implementation from opCmp to opEquals.
Merge pull request #3599 from MartinNowak/opEqualsForAA

require opEquals for AA keys
Merge pull request #3555 from 9rnsr/fix12749

Issue 12749 - Constructor-local function allows multiple mutation of immutable member
fix Issue 10219 - Implicit conversion between delegates returning a class and an interface
fix Issue 12778 - Aliasing opBinaryRight to opBinary works only in certain cases
make a copy of the second argument to _d_arrayappendT to avoid aliasing
Merge pull request #3576 from 9rnsr/fix10219

Issue 10219 - Implicit conversion between delegates returning a class and an interface
Merge pull request #3578 from 9rnsr/fix12778

Issue 12778 - Aliasing opBinaryRight to opBinary works only in certain cases
Merge pull request #3608 from rainers/issue12826

fix 12826: make a copy of the second argument to _d_arrayappendT to avoid aliasing
Merge pull request #3070 from AndrejMitrovic/Fix3672

Issue 3672 - Read-modify-write operations should not be allowed for shared variables.