Convert the C# backend to the new blocks system.
Renamed C++/CLI runtime helpers to CppSharp.h.
Output the runtime helper in sources instead of headers.
Use fully qualified names in C# to minimize the chance of conflicts.
When checking for ignored declarations, return early if the declaration is already ignored.
Clean up the console driver by emitting file parsing diagnostics in the main driver.
Add the enumeration item expression as a string to the AST.
Re-work handling of enum constants fixing signedness and formatting issues.
Clean up driver.
Reference classes now implement the ICppInstance interface.

This will be used to add support for overrides of Equals and GetHashCode.
Added support for IsOverride in the generators.
Added HandlePreprocessedEntities call for all entities that doesn't contain yet any preprocessed entity.
Added return null to method FindClass when parameter class name is null or empty
Added first pass at a pass for transforming compatible getters/setters into properties.
Add work-in-progress ObjectOverrides pass that adds GetHashCode and Equals overrides.
Parser now initializes ClassTemplate's parameters
Added support to specify with TypeMaps, required includes and forward references of generic types
Changed property Declaration.Name to virtual. Now ClassTemplate shares Name with its TemplatedClass.
Added synthetized check on block generation of ObjectOverridesPass.cs so already existing methods are not modified.
Fixed enum type print.