Relax bounds on semigroups.
Rest-gen: generate valid code when resource name is reserved.

Previously, actions on the resource would use the name of the resource
for the input parameter. If that name was reserved, the generated
haskell code wouldn't compile. Now we clean the name so it is valid.
Rest-example: add test for reserved resource name.
Rest-example: fix changelog.