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.