renaming rules can now contain functional groups

* support for conditional grouping {...}
* support for mutually exclusive groups [...]
* renamed variable with reserved keyword `char`