Split FilePath into DirPath and FilePath

These are not equivelant, hdfs and s3 have a server component. I assume you this is trying to remove the new File doing unsafe things case. As an alternative, I would suggest `unsafe` be just unsafe, and don't do anything, and there is a more general dirpath creation method that returns option or \/.