Incl. functional changes, especially wrt. preserved paths for object files
(previously only when creating a static/dynamic library, now only if
specifying the -op switch).
This reduces the size of a statically linked Phobos-based
Hello World by 11 kB on Linux x86_64.
Also creates a header file for gen/module.cpp, which has been
renamed to "modules" such as not to conflict with the frontend
header file.