This address the following case:
1. The user changes config/mix.exs/__mix_recompile__?
2. We detect the change, remove .beam files, and start recompilation
3. Recompilation fails for some reason
4. The user reverts the change
5. The compiler no longer recompiles (as it sees no change)
but the .beam files are now missing
To address this, we checkpoint all stale modules coming from config
and mix.exs changes, as well as all modules where __mix_recompile__?
returned true.