New singleton private data

Feature: Completely new strategy for Singleton's PRIVATE data.

Pre-requisite:
- Accepting Pull Request https://github.com/MIND-Tools/mind-compiler/pull/8 (this should reduce the diff to 809652b73d8d719aa3eccdd9317ef82738b77dc0 )

Warning: This is an important core code modification !

Fixed issue: Preprocessing of user C code + membrane pre-processing resulted in duplicate PRIVATE struct for the definition: GCC understood the elements were the same but IAR was strict about duplicate structs
errors.

Solution/Strategy: New behavior was inspired by the non-Singleton code generation, using typedefs instead of direct struct use, guards, and component private data initialization through a dedicated macro. Tests were fixed accordingly.