- Preserve file permissions if no mode is specified in the patch.
- Avoid language features that are rejected by Rust 1.54. Support for this
version is still needed. - Simplify diagonstics of failed hunks. Although the new algorithm is more
primitive, it is much faster for large hunks and/or files.