properly C++ const class mangling
explicit is_top_level initialization + additional tests

whitespace fix
fix Issue 12038 - alias this and &this cause ICE
Merge pull request #3166 from IgorStepanov/cppmangleunix2

Different fixes for #3116
Merge pull request #3179 from 9rnsr/fix12038

Issue 12038 - alias this and &this cause ICE