Reworked type map finding to take typedefs in account by desugaring the type one layer at a time and searching for that typemap.
Fixed handling of overriden methods.
Write new lines between method blocks.
Reworked property handling to check if each property getter/setter can be generated.

Fixes a bug where we tried to generate a setter for a const field.
Cleaned up the ObjectOverridesPass pass.
Do not try to get parameter comment indexes for invalid params.
Added parsing of preprocessed entities for function parameters.
Removed union restrictions in CLI backend.
Remove calls to GenerateDeclarationCommon in CLI sources generation.
Fixed base constructor calls in the CLI backend to cast to the type of the base types as that can fix some ambiguous calls to overloaded constructors.
Reworked the method generation in the CLI backend to use blocks.
Do not call type constructors using copy construction as it can be not defined.
Remove extra newline.
Use the scope resolution operator when referring to native names.
Reworked the CLI headers enum generation to use blocks.
Added nested class enums generation in CLI backend.
Added extra newline in generated output.
Renamed the ICppInstance's 'NativePtr' property to 'Instance'.
Added access specifier checking for methods to CheckIgnoredDecls pass.
Ignored functions not found in library symbols.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>