safely: Temporary file name changes.
* Use CL pathname magic to mess only with the name component of paths
rather than putting extensions on the end, which seems to confuse
CMU CL.
* Use a Scsh-like fresh-name generator where it matters, rather than
hoping (in the case of move-aside names). This means generating old
names later on in the process, but that seems OK.
* Do the file copy in plain Lisp using read/write-sequence rather than
Unix hacking. There's a hack here for CMU CL to use link(2) for
efficiency's sake, but it's not strictly necessary.
This means that the whole package is, in fact, standard Common Lisp.
Yay.