[Refactoring] Set ismixin and literal in parsing phase

They won't be modified in semantic phase, so pass them by constructor arguments of `TemplateDeclaration`.
fix Issue 11533 - Compiler should allow to being nested for static local template functions
Fix mkstemp stuff to be valid D.
Remove bad #if
Fixup for main generation code
Explicitly cast array to char*
Use malloc/free instead of new/delete
Explicitly cast char[N] to char*
Explicitly cast buffers to char*
Initialize static array members explicitly
Merge pull request #2808 from yebblies/gencmain

[DDMD] Fixup for main generation code
Merge pull request #2771 from yebblies/arraytopointer

[DDMD] Arraytopointer
Disable controlc handling
Merge pull request #2807 from yebblies/badifx

[DDMD] Remove bad #if
Get rid of dangling elses
Remove a 'delete' from the glue layer
Remove dead ifdef
Turn root classes into structs
Merge pull request #2817 from yebblies/deadifdef

[DDMD] Remove dead ifdef
Merge pull request #2814 from yebblies/rootstruct

[DDMD] Turn root classes into structs