Don't import _externals from every module
We were doing this to get access to the logger, but this leads to a subtle problem:
- If a module has a static constructor, it needs a ModuleInfo structure.
- If a module imports a module with a ModuleInfo structure, it needs one too, and it
also needs access to that module's ModuleInfo (I think it chains them together).
- tango.io.Console has a static constructor.
If _externals imports tango.io.Console then it needs ModuleInfo. Everything that
imports _externals then needs ModuleInfo, which is everything. Including third
party libraries, which then fail to link.
Conflicts:
dmd/module.c