* TypeMap: prepare refactoring into a modular design
* TypeMap: refactor C++ backend into common methods
* TypeMap: refactor CLI backend into common methods
* CLI.Gen.cs: fix omitted typemap from previous commit
* Common.Gen.cs: fixed silly modification while testing
* GeneratorKind: add FindGeneratorKindByID method
* TypeMapDatabase: heavy refactor: group typemaps by GeneratorKind
* TypeMap: refactor CSharp backend into common methods + migration
* TypeMap: cleanup patches from previous commits
* TypeMapDatabase: fix passing GeneratorKind to FindTypeMap calls
* Stdlib.CSharp.cs: move std::map typemap from Stdlib.CLI.cs
* TypeMapDatabase: improve parameter name
Improve generation of forward references and includes in C++/CLI.
Move the GenerateInclude logic to GetTypeReference so that an include is also generated for visited types of an ASTRecord that are forward declared, and come from typedef of ignored class template.
Co-authored-by: Build Agent <admin@sage.com>