Automatically wrap multiline deprecation messages (for 2.99)

This is #1350 and #1453 backported to 2.99.

Fixes #1497.

I need to find all the places the multiline message call sites and make sure they don't have their own fence posting before we can merge this, so it may not make the RC release (I won't hold it up for it).

/cc @xaviershay @soulcutter