Fix #944 Add option preserveExecutable to IO.copyFile and IO.copyDirectory

preserveExecutable is true by default.