failing test for ASCII-8BIT encoding in exceptions

Occasionally some failing chef resources leak binary characters into their exception message. Ruby encodes these as ASCII-8BIT causing JSON serialization to fail to encode these at UTF8, throwing an `Encoding::UndefinedConversionError: "\xA9" from ASCII-8BIT to UTF-8`

This patch sanitizes exception messages by replacing unprintable characters with a `?`