`write'++: !interactive:.. But now, really (Lyndon Nerenberg, David Levine)..
We should not simply urlxencode() part names in non-interactive
mode, it will convert all 8-bit characters, for example.
Instead convert only those characters which match the new
n_SHEXP_MAGIC_PATH_CHARS plus "/".
Also, don't overwrite files when non-interactive: use O_EXCL, if
we get EEXIST, iterate over after appending some sort of string.
Realized while reading conversation between Lyndon Nerenberg
(lyndon at orthanc dot ca) and David Levine (levinedl at acm dot
org).