Revert "Remove extra semicolons from C++ code."

This reverts commit 51aa63ede1fd41f03106ca92ab0a01703a0cae01.
cmTypeMacro: Add a class to eat the semicolon following the macro use.

Apply the same workaround to the cmCPackTypeMacro. Additionally
change that macro to not use 'class' as a macro parameter.
Remove extra semicolons from C++ code.

Clang based tools running over the code complain about these,
but clang has a fixit for removing them.
Merge topic 'compiler-warning-cleanup' into next

66fa053f Remove extra semicolons from C++ code.
fae593d2 cmTypeMacro: Add a class to eat the semicolon following the macro use.
d211497b Revert "Remove extra semicolons from C++ code."