Changing over to the File interface. No more BaseFile shenanigans.
Changing BaseFile so it's not a full File implementation, and merely contains impls of non-core methods.
Defining a FileSystem interface.

Renaming the default FS class that every FS extends to BaseFileSystem.