Remove unused constructors.
Reworked pointer marshaling in C# and CLI.

We are now more consistent between backends, specifically we need to make sure
to avoid directly visiting the desugared type since we might lose type maps when
handling typedefs.
Remove useless code.
Improved the diagnostic for ignored fields.
Fixed regression in parsing of preprocessed entities.

Specifically we now store the pointer of the original declaration and check for duplicates.
Wrapped fields of structures with properties.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Extended the wrapping of fields to function properly for unions.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Fixed the marshalling of properties of structures.

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