Reject invalid unicode encoding in module names
We reject invalid utf8 encoding and strings containing the replacement
character U+FFFD in identifiers and output targets.
Similarly, we ignore existing artifacts with encoding errors whenever we are
doing an artifact look-up in load paths.