stage2: Sema improvements and boolean logic astgen

* add `Module.setBlockBody` and related functions
 * redo astgen for `and` and `or` to use fewer ZIR instructions and
   require less processing for comptime known values
 * Sema: rework `analyzeBody` function. See the new doc comments in this
   commit. Divides ZIR instructions up into 3 categories:
   - always noreturn
   - never noreturn
   - sometimes noreturn
2f391df2a7Andrew Kelley committed on 3/23/2021, 12:29:56 AMparent9f0b9b8
4 files changedLine totals unavailable