move-to-nearest-code needs special treatment to avoid creating
superfluous breakpoints in case multiple compilation units. It already
had code to handle the case when the compilation units are in the same
module, but it still did not properly handle the case when the
compilation units are in different modules.
This fixes the issue by manually iterating over the modules (instead of
just CUs) to make sure we aggregate the matches properly.