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.
Bonus track: fix traits getOverloads+getProtection ICE
Merge pull request #1724 from IgorStepanov/master

CTFE: Allows to return class objects and pointers to the structures, which were created with "new".