Use less permissive globbing when searching for parser files.
Moved the native AST declarations to their own namespace.
Reworked the CLI type references collector and generation code.

We now properly handle type references to namespaces that do not exist in the referencing translation unit. We do this by collecting all the references for all namespaces in the translation unit and generate a block with all the forward references.
Added generation of stubs for ICppMarshal.
References to System.Runtime.InteropServices.CallingConvention attributes are now fully qualified to fix some conflicts that could happen with generated code.
Fixes to the C# implementation of std::vector interop.
Re-generated the CLI and C# bindings to the new parser.
Changed the output folder to be based on separate folders rather than name suffixes.
Moved Diagnostics class to new core project.
Extracted the Options class to its own file.
Renamed Library functionality to ASTContext.
Refactored the parser class.
Updated the C++ parser project to the new ASTContext class.
Updated the C++/CLI parser to the new ASTContext class.
Added a new class SymbolContext that provides native library symbol management.
Added a simple project abstraction that keeps all the source files and their build settings.
Updated the driver to the new ASTContext and SymbolContext classes.
Updated the generators and tests for new class names.
Updated the C++ parser AST to the ASTContext class.
Renamed LanguageGeneratorKind to GeneratorKind.