Merge pull request #11 from Mind4SE/new-singleton-private-data

New singleton private data

Completely new strategy for Singleton's PRIVATE data.
New behavior inspired by the non-Singleton code generation, using typedefs instead of direct struct use, guards, and component private data initialization through a dedicated macro.
Bindings using type-hierarchy-related interfaces now have C cast.
Issue: used to be that C compilers would raise a warning on pointer
casts when trying to initialize a binding from an I1 interface type
struct with an I2 destination interface, where I2 extends I1.
Solution: Detection on binding check and tag the according AST
interface/binding nodes to add the necessary cast with StringTemplates.