cpp learnt warn-unused-macros

Need to handle system/general header includes.
Unused macro example
Attempts at fixing type parenthesizing when printing
Correct parenthesizing for type_to_str()
Warn on unused macros
Don't add parentheses around types before a btype
Update tests for new type-to-str output
Merge branch 'fix/type-printing'
Merge branch 'fix/wunused-macros'