type_info: change way properties db is stored and accessed

This solves static variables initialization order fiasco for
property_info registering itself in corresponding type_info::properties.
Register unsigned as integral type