Survive ASCII incompatible encodings

The we monkey-patch String#encoding to make it resistant to Encoding::ConverterNotFoundError as the test itself is broken code. 
It relies on the fact that #non_empty? is called at least once before String#encode errors.