Protect open fds in [Copy] against more exceptions
Protect open fds in [Copy] against more exceptions

In the Copy module, open file descriptors are protected and closed when
receiving some exceptions, but not all. (Perhaps because critical
exceptions are expected to quit the process?)

I am not aware of any reason why file descriptors should not be closed
when receiving some exceptions. One could only argue about exceptions
such as stack overflow and out of memory but then you have bigger
problems anyway.

Change the [Copy.protect] and [Copy.lwt_protect] functions to close file
descriptors on all exceptions. (If, for some reason, this is not desired
then protecting against Util.Fatal should be added, at least.)

paulp/unison