rustc: Use rust strings for failure arguments

This avoids having to perform conversions from `*u8` to `&'static str` which can
suck in a good deal of code.

Closes #14442