runtime: reject overlong UTF-8, output as raw octal instead
Since string_quoted is meant to unambiguously represent its output, it's a
bad idea to let different UTF-8 byte sequences lead to the same Unicode
code point. This can only happen if you allow 0-padded UTF-8 that ends up
longer than necessary. It's especially bad if you let long zero encodings
like 0xC0 0x80 be treated as a string terminator!
If any UTF-8 was decoded from more bytes than its value should have needed,
just write it verbatim with octal escapes instead.