Interrupt safety around opening file descriptors & other changes.
* Unlink newly created files during OPEN-FILE if something goes wrong.
* CLOSE the stream during OPEN if the initilization function errors.
* Introduce a wrapper around close() to handle EINTR and simplify
erroring when close() fails.
* Make the :MODE argument require the caller to supply
:ALLOW-OTHER-KEYS T.
* Make the :IF-EXISTS :TRUNCATE action available only in builds with
:CDR-5 in *FEATURES*.
* Document in base-target-features.lisp the 3 build-time features used
in fd-stream.lisp.
* I haven't been able to reproduce the heisenbug that existed before
a99550b344ee7f72505f8bf5bab1eb996441b782; either it's gone, or
has become much subtler.