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 5878 - Forward reference in returning superclass from template using is() expression
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
fix Issue 9890 - Alias This + Alias Fields
fix Issue 9903 - Broken ddoc in std.typecons and etc.c.sqlite3
Bonus track: fix traits getOverloads+getProtection ICE
Merge pull request #1872 from 9rnsr/fix9903

[REG2.061] Issue 9903 - Broken ddoc in std.typecons and etc.c.sqlite3
Merge pull request #1867 from 9rnsr/fix9890

[REG2.061] Issue 9890 - Alias This + Alias Fields
Merge pull request #1859 from 9rnsr/fix5878

Issue 5878 - Forward reference in returning superclass from template using is() expression
fix Issue 9781 - -inline will cause backend ICE

- this rewrite created a const elem with type TYvoid
  which caused the backend assert in evalu8