librustc: classify newtype scalar structs as immediates.
librustc: Fix LLVM assertion with immediates and by-value self.
Add test for #5321.
librustc: Also treat a struct with a single scalar field as an immediate.