Merge pull request #376 from ddobrev/master

 Fixed the generated code for default value of 0 to a class mapped to an enum
Test that demonstrate the "new 0" and show some other erroneus behaviour too.

Implemented CastExpression. ImplicitCast and ExplicitCast statement classes.

Fixed implicit constructor string generation.

Implemented CtorExpr.

All test cases pass.

Fixed indentations, streamlined the code.

Fixed regressions.

Fixed regressions.

Adding a test case not covered before.

Fixed, refactored and simplified things.

Still more fixes (0 to null ptr conversion, enum check). The additional test passes now too.
Fixed whitespace.
Generated up-to-date parser bindings for non-Windows platforms.
Fixed build on Linux(Ubuntu).

Contributed by @shahid-pk.

Closes pull request #360.
Fixed wrong code generation for constant-size arrays of non-primitive types.

References #380.
Fiexed the include path problem #321. (the test case for C++ may be necessary.)
Fixed line endings and whitespace.
Fixed 3 bugs related to custom comparison operators.

1. Missing Equals to complement operator ==;
2. Endless recursion when having a == and comparing to null;
3. Crash when having a == and comparing a null pointer to sth else.

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