[File] Add: .with_destination(), .sync_from(...,&missing_only), Fix: .join()
[File] Add: .with_destination(), .sync_from(...,&missing_only), Fix: .join()

- Added File.with_destination(filepath:String)->String
  - Examples
    - File( "path1/filename1" ).with_destination( "path2/filename2" ) -> "path2/filename2"
    - File( "path1/filename1" ).with_destination( "path2" )           -> "path2/filename1"
    - File( "path1/filename1" ).with_destination( "filename2" )       -> "path1/filename2"
    - File( "filename1" ).with_destination( "path2/filename2" )       -> "path2/filename2"
    - File( "filename1" ).with_destination( "path2" )                 -> "path2/filename1"
    - File( "filename1" ).with_destination( "filename2" )             -> "filename2"
    - File( "path1" ).with_destination( "path2/filename2" )           -> "path2/filename2"
    - File( "path1" ).with_destination( "path2" )                     -> "path2/path1"
    - File( "path1" ).with_destination( "filename2" )                 -> "filename2"

- Added File.sync_from(...,&missing_only) option

- .join(filepath1,filepath2) now handles existing prefix/suffix slashes
  - OLD: File.join("a/","b") -> "a//b"
  - NEW: File.join("a/","b") -> "a/b"

  - OLD: File.join("/a","/b") -> "/a//b"
  - NEW: File.join("/a","/b") -> "/a/b"

AbePralle/Rogue,Plasmaworks/Rogue,Plasmaworks/Rogue,Plasmaworks/Rogue,Plasmaworks/Rogue,AbePralle/Rogue