This carries out the refactoring proposed in Trac #9370, comment 28.
Previously -fignore-interface-pragmas would disable typechecking of unfoldings
loaded from interface files during deserialization. This would mean that
changes in the state of this flag would not take effect after a module's
interface file has been loaded, leading to unpredictable behavior when
compiling programs which set this flag on a per-module basis.
Here we rework interface file loading such that unfoldings are always loaded,
but type-checked lazily. We then disable inlining in the simplifier when
-fignore-interface-pragmas is set.