Fixed parsing of preprocessed entities for implicit declarations.
Fixed parsing of preprocessed entities for parameter declarations.

Clang reports a wrong source range for function parameters and since we already process them specially we should not process them in HandleDeclaration too, else we get duplicated entities.
Fixed type maps processing bugs.
Fixed processing of forward declarations in CheckMacrosPass.
Fixed processing of classes in CheckMacrosPass.

We had previously added an early out for declaration contexts but this is not correct for classes since they need to have their preprocessed entities processed by the rest of the pass.
Added support for the CS_IGNORE_GEN macro to CheckMacrosPass.

This is used for classes that we want to ignore only for generation but still want to process when they appear in type maps.
Fixed declaration checking to have into account processing/generation ignore flags.
Added support for marshalling arrays of pointers to primitives.

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