Kernel#sprintf: don't unconditionally grant encoding validity
Kernel#sprintf: don't unconditionally grant encoding validity

The old code seems to grant strings with encoding validity when it does
not have enough information to make that call. Be defensive and claim we
don't know the code range instead.

nobu/rubyspec,ruby/spec,ruby/spec,eregon/rubyspec,eregon/rubyspec,ruby/spec,eregon/rubyspec,nobu/rubyspec,nobu/rubyspec