Change TH name for the context
Use getDataInfo in deriveGTraversable
Change constraint generation algorithm

Now the algorithm is this:

* Generate GTraversable constraint for every type parameter
* Generate 'c' constraint for types of all data constructor fields

(previously, we generated 'c' constraints only for type parameters)
Make 'c' superclass of GTraversable
Change constraint generation algorithm

GTraversable constraints are generated for every field type, except the type for
which we're deriving the instance

'c' constraints are generated for every field type, plus the type for
which we're deriving the instance