Allow MCSystemInterface::ListFolderEntries() of arbitrary paths.

Sometimes it's useful to iterate over the contents of directories
other than the current working directory.

N.b. I haven't been able to build & test all of these changes, so merging this might be risky. :neutral_face: