Extracted Nim binaries lose executable permissions on Linux
```sh
$ nimble -v
nimble v0.16.3 compiled at 2024-11-15 09:28:47
git hash: 6ba10a435bac800f5fd18bd4afa2870b0bfb7f14
```

```sh
$ nimble install nph
   Warning: The compiler package has been renamed to nim
Downloading Nim 2.2.0 from nim-lang.org
[##################################################] 100.0% 0kb/s
    Warning Nim /home/archargelod/.nimble/nimbinaries/nim-2.2.0 is not properly extracted
 Extracting nim-2.2.0-linux_x64.tar.xz
 Extracting nim-2.2.0-linux_x64.tar
     Info:  There is no nim binary in the downloaded directory or it is corrupted. Rebuilding it
Cloning into 'csources_v2'...
...
```

https://github.com/nim-lang/nimble/blob/6ba10a435bac800f5fd18bd4afa2870b0bfb7f14/src/nimblepkg/downloadnim.nim#L708-L709

`copyDir()` uses `copyFile()` and the docs for it say:
>  On the Windows platform this proc will copy the source file's attributes into dest.
>  
>  On other platforms you need
>  to use `getFilePermissions`_ and  `setFilePermissions`_   procs
>  to copy them by hand (or use the convenience `copyFileWithPermissions  proc`_),
>  otherwise `dest` will inherit the default permissions of a newly created file for the user.


