Added reserved words functionality to CodePrinter.

This fixes issue #8190 for the C code printer. If the user has a symbol name
that matches a core reserved word in the C language it gets an underscore as a
prefix.

- [x] make the prefix a suffix
- [x] make the suffix easily configurable