Put an upper limit on UTF8 file sizes

This is for #7223

* Start the discussion at limiting files to 4MB and under before we refuse to load them
* Display a message if we've reached the limit opening a file
* Implemented in AppShellFIleSystem which is really the only place this could go without rearchitecting a lot of file system work but looking for feedback there too
Naming nit: the "reached" part seems a little odd because we're not iterating file sizes or anything.  Maybe something like `FILE_TOO_LARGE` (similar to `TOO_MANY_ENTRIES` above) or `EXCEEDS_MAX_FILE_SIZE`?