The inserter aimed at the spot before the first import, which in a module
unit is past the module declaration - so the includes landed in the
purview, attaching those declarations to the module, and re-running piled
up duplicates. It now targets the global module fragment for module units
and keeps the before-first-import rule only for ordinary units.
The template-header propagation only walked files with a module
declaration, so EU07.cpp, windows.cpp, export_e3d_standalone.cpp and
every betterRenderer source were outside it - including the file with
main(). They reach cParser and friends through eu07.simcore and
instantiate their templates without the headers those bodies name.
Adds audit_modules.py, which checks the whole tree for the seven classes
this migration hit; all seven are clean now.