stage2: better handling of file-level compile errors across updates

* `Module.File` now retains the most recent successful ZIR in the event
   that an update causes a ZIR compile error. This way Zig does not
   throw out useful semantic analysis results when an update temporarily
   introduces a ZIR compile error.
 * Semantic analysis of a File now unconditionally creates a Decl object
   for the File. The Decl object is marked as `file_failed` in case of
   File-level compile errors. This allows detecting of the File being
   outdated, and dependency tracking just like any other Decl.
cbbc7cc8b1Andrew Kelley committed on 5/12/2021, 12:34:13 AMparent5d9fc11
4 files changedLine totals unavailable