Move CTFE paintFloatInt to Target::paintAsType
fix Issue 12485 - [REG2.065] DMD crashes when recursive template expansion
Merge pull request #3703 from ibuclaw/targetpaint

Move CTFE paintFloatInt to Target::paintAsType
Merge pull request #3683 from WalterBright/fix12485

fix Issue 12485 - [REG2.065] DMD crashes when recursive template expansion
Remove redundant TypeInfo linking
fix xopEquals generation when identity opEqual defined
Generate toHash method for correct hashing

If struct member field has toHash method, generate toHash implicitly to guarantee `a != b || a.toHash() == b.toHash()`.
Improve condition for AA key types