Refactor ApiDefinition.Typing into .CrossReferenced
Make ApiDefinition.Structured hashable

This will help when using Structured type descriptions as dict keys
in CrossReferenced.TypesRepository.
Remove (last?) hard-coded stuff from ApiDef.CrossReferenced

And list Session.RateLimit as a factory of Github.RateLimits!
Remove Factory.category
Remove CrossReferenced.Type.category
Regroup hard-coded values of CodeGenerator

In .generateDocForAttributeType and .generateMethodBody