Rework path handling in all ZIP generators, use more templates, add package generators

Clearly, this commit should have been multiple commits!

Instead of hardcoding most of the paths, build the common paths once
and store them.

Move more file generation to the template file based approach.

Move package generation for packages that are not part of the ZIP file
into a separate generator script.

Compile the C# bindings using a .csproj file and add .mdb debug info file.
Make test scripts operate in bindings specific /tmp sudirectories
c: Add mingw32-gcc pass to test script