Added support for marshalling arrays of pointers to primitives.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Merge pull request #154 from ddobrev/arrays_of_pointers

Added support for marshalling arrays of pointers to primitives
Merge pull request #167 from InitialForce/feature_option_dependent_namespaces

Add new option for custom using statements/namespaces in generated units
[FIX] Fixes namespace errors/warnings
[FIX] Fix possible nullref/cast in parser
[FEATURE] Fix comment code generation to produce much cleaner output.

Everything is just wrapped in a summary block, since we don't do parsing of e.g. doxygen comments.
[FEATURE] [PR] Add new Value type to AST, with IValuePrinter and CSHarpValuePrinter
[FEATURE] [PR] Add new IValuePrinter interface, with CSharpValuePrinter implementation
[FEATURE] [PR] Add Value property in Field, allows a field to have a value
[FEATURE] [PR] Pass in an CSharpValuePrinter instance to CSharpTextTemplate
[FEATURE] [PR] Add support for printing fields with values in CSharpTextTemplate
[FEATURE] [PR] Add support for double pointers in CSharpTypePrinter.
[FEATURE] Add PrimitiveType.UIntPtr in AST and code generators
[FEATURE] Add new GetTargetInfo() method in parser, that exposes information about type sizes and alignment.
[FEATURE] Add TargetInfo in Driver
[FEATURE] [WIP] Add new pass to unwrap unsupported kinds of array fields
[FEATURE] [PR] Add support for parsing clang::RecordDecls.

This is needed when passing std=gnu99 to clang and parsing in C mode instead of C++ mode.
[WIP] [FEAUTURE] Add new option Gnu99Mode in ParserOptions, passes -std=gnu99 to clang instead of c++ parameters
[HAX] Generate comments for "internal" fields in structs (in Gnu99Mode only)
[WIP] [FEAUTURE] [FIX] Fix NRE (when parsing C code in gnu99 mode)