This is a two-stage change, that first centralizes the file I/O code path for on-disk and builtin:/ files. Secondly the resource embedding pass now produces diagnostics if a file cannot be located.