An image without a relocation directory can only run at its preferred
base. When a relocatable module had already been placed there, ModuleSet
moved the fixed image to a fallback base instead, where it breaks at run
time. Before binding, the relocatable modules in the way are now mapped
again at the first free fallback base, with their relocations reapplied,
and the fixed image gets its own base. LoadedImage gains move
construction and assignment so a module's mapping can be replaced.
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the ModuleSet and LoadedImage changes and the
module_set_test case, after a DLL without relocations failed to load
because a relocatable module occupied its base. Prompt: find what
stops the program's own DLL from loading and fix it in Raven.