Fix encoding detection for READ/string

Files with a BOM are now properly handled. Files without a BOM are again
decoded using UTF-8. Trying to READ/string a file with an encoding for
which support is not yet implemented (UCS4 LE and BE) now causes an
error.

This fixes zsx/r3#13, regressions introduced by 8336a45 and 70c7c3a, and
CureCode issue cc#2186.