Pass tests for #3778 uniphil/rust-clippy

This change guards the lint from checking newlines with a sort of complicated
check to see if it's a raw string. Raw strings shouldn't be newline-checked,
since r"\n" is literally -n, not a newline. I think it's ok not to check for
literal newlines at the end of raw strings, but maybe that's debatable.

I... don't think this code is that great. I wanted to write the check after
check_tts, but that was too late -- raw string type info is lost (or I
couldn't find it). Putting it inside check_tts feels heavy-duty and the check
itself feels like a brittle reach possibly into places it shouldn't.

Maybe someone can fix this up :)