Reject casts to unsized types

This closes issue #17441 and generally gives more helpful diagnostics.
I'm not sure I like suggesting to use Box, people tend to overuse it and it is probably not the right thing to suggest. I would probably not have a note in this case.