A few cleanups and minor improvements to typeck
This PR complements https://github.com/rust-lang/rust/pull/54533, which was limited to `check`.
- change a few `push` loops to `extend`s
- prefer `to_owned` to `to_string` for string literals
- prefer `if let` to `match` where only one branch matters
- a few other minor improvements
- whitespace fixes