Generalize the type of `AtomicFile::write`
Generalize the type of `AtomicFile::write`

* Let the callback return any compatible error type, not just
  `io::Error`. For example, the serialization library I'm using
  (`serde_cbor`) doesn't return `io::Error` but its own custom error
  type.

* Take any `FnOnce` for the callback, not just `FnMut`. Since the
  callback is invoked only once, this bound should be more correct.

untitaker/rust-atomicwrites