Improve the error message for parenthesised box expressions

Closes #15386.
Add a message for when a `.` follows a macro invocation
Special-case some error messages about `Sized`

The error messages still aren’t as good as they were before DST, but they better
describe the actual problem, not mentioning `Sized` at all (because that bound
is normally implied, not explicitly stated).

Closes #17567.
Closes #18040.
Closes #18159.