F/rewrite groupset

Added groupset rewrite object and added tests for rewrite functionality.
I'd go with `properties`, but in a separate patch. First, use `values` in this patchset, and have another that adds `properties` and makes `KW_VALUES` an alias to it.