diagrams: add general settings to cpp model
formatters: fix incorrect upper casing of traits
cpp: add identifiable name to flat name builder
patches: implement more transformations