stage1: Make `x and false`/`x or true` comptime-known

We need to be careful to respect side-effects/branching in these
cases, but otherwise this behaves very similarly to multiplication.
`lhs and rhs == false` if either lhs or rhs is comptime-known `false`,
just like `lhs * rhs == 0` if either lhs or rhs is comptime-known to
be zero.

Similar reasoning applies to `lhs or rhs`.
2f732deb3dCody Tapscott committed on 10/30/2022, 7:21:37 PMparent1696434
3 files changedLine totals unavailable