Uses File::Path::make_path() to allow moving files into 'new' directories

Should fix #6. Note that it's not *heavily* tested; seems to work and hasn't broken existing uses as far as I can tell, however.