Simplify moveTo(), use copyFile()
Preserve executable status when copying.