CTFE returns classes
Allow to multiple references to object + Allow to assign enum class object to local variables + Fix 5678
disallow pointers to mutable struct enums and mutable class enums
disallow class enums and thread-local mutable classes and pointers to structs
Fixed this-assignment bug + code style fixes
fix phobos test fail
add comment and small refactoring
Replace of  'magic' number with named constant.
fix Issue 9892 - [ICE] forward reference in enum declaration members causes compiler segfault
fix Issue 6795 - ICE(cgcs.c): Incrementing an enum array item
fix Issue 9901 - string return from inner template function error
fix Issue 9899 - struct with pure/nothrow destructor cannot be used as a struct member in pure/nothrow functions
Bonus track: fix traits getOverloads+getProtection ICE
distinguish ALLREGS from allregs
fix9866

- also removed non-existing MOVSX/MOVSZ r16, r/m16
Merge pull request #1855 from WalterBright/fix9892

fix Issue 9892 - [ICE] forward reference in enum declaration members cau...
Merge pull request #1863 from WalterBright/fix6795

fix Issue 6795 - ICE(cgcs.c): Incrementing an enum array item
imrove issue 9892 test case
imrove issue 6795 test case
More fix for issue 3703