[4.2] Added FilesystemInterface

Replaces #4500. This pull just includes the interface with no other changes.