Copy a file to destination, creating parent directory if needed.
Source file path
Destination file path
If false, throws if destination exists
If destination exists and overwrite is false
If source file does not exist
If copy operation fails (permissions)
Copy a file to destination, creating parent directory if needed.