TClassAttributeMap for properties

(cherry picked from commit 45fa0d94ca9e70cc7d25405f236dcdc96b0b89d5)
TClassAttributeMap property

(cherry picked from commit 25523518ef1b05cbbe507f01cd6dfea261434a36)
Add TClassAttributeMap.

(cherry picked from commit 17ba27b1ddbc64b8c7a7695f895caf3af0c56545)
Fix compiler warnings (hidden overridden Clear(), missing return.

(cherry picked from commit 362219a30cce0c893224a563cddad5e73d4b6ba6)
Fix TClassAttributeMap and TClass

(cherry picked from commit e7ac2407e734f4f174fe378432cc62d141b70eae)
Apply relevant parts of c42b215595a fom master.
Add missing initialization