Fix Trac #8455.

This was quite simple -- just use mkIntegerExpr instead of mkIntExpr.
Refine fix for #7667.

Now, we allow types that do not begin with ':', but we retain other
checks on variable names.
Comments & typos only
Change GeneralizedNewtypeDeriving safety check.

Now, instead of looking at a class's roles, the GND check looks
at all of the methods in the class individually. This has the
advantage that sometimes, we can use information about the
derivation requested during the safety check. For example,
we can now derive (IArray UArray), whereas the previous check
prevented this.
Change default roles for classes to be *nominal*.
Update user manual with respect to new default for class roles.
Be more selective about when to print out roles with :info