Fix a bug in the recompilation checking logic.
Previously, using target HscNothing resulted in unnessesary
recompilation because 'upsweep_mod' treated HscInterface specially.
This patch changes relaxes this.
When running GHC with debug level 5, 'upsweep_mod' will now also be
more verbose about what it is doing.
There is (at least) one possible remaining problem, though: When using
target 'HscNothing' we generate a fake linkable to signal that we have
processed a module. When switching to 'HscInterpreted' this may cause
objects to not be recompiled. Switching from HscNothing to
HscInterpreted is therefore only safe if we unload everything first.