More poison/undef updates.
Further updates to account for the deprecation of undef: this updates
documentation and variable names in line with the previous update to use
poison more. It updates tests to no longer use undef where we would no
longer generate undef. It restores one use of UndefValue::get where the
replacement with PoisonValue::get was wrong: SPIR-V's OpUndef does not
allow treating it as poison.