Add an extras feature to ParsingContext
Parse more of the gir structure

Specifically:
 - Track and map types
 - Parse record fields
 - Parse classes (very similar to records)
 - Generate diagnostic lists of defined and referenced types
   (in the subset of the gir we can parse)
Move type lookup out from field parsing to findType

Make GirParser.findType() return the actual ConvertedType object
to keep type mapping out of the field parser method in preparation
of the former getting more complex, and for general clarity and
generality.