Fix register corruption in CopyFile_EnsureDestFileWriteable
FileSwitch 2.90 introduced a register corruption bug in *Copy which would (typically) result in an abort if the copy isn't going ahead because the destination exists. This was down to the (undocumented) input of R7 being corrupted by the call to EnsureCanonicalObject, and not being restored before it gets used later on by the call to Util_PrintName.
Fix the code to restore R7 before calling Util_PrintName, and update the comments surrounding a couple of functions to make sure at least some of the undocumented inputs are documented.
Fixes issue reported on forums: https://www.riscosopen.org/forum/forums/4/topics/17802