Expected/actual messages are weird with \n instead of \r\n


The expected/actual messages that are printed out today are properly indented when the strings contain \r\n, but when they contain only \n, they show up like they have newlines without indentation, which makes it hard to reason about the actual failure that happened.

For 2.0, consider changing the expected/actual to not show the whole string, instead to only show the part of the string where the difference is, and rather than wrapping, replace special control characters (like \r\n) with their literal equivalent.