`install -s --strip-program=PROG` aborted with an Option::unwrap panic when
PROG was terminated by a signal: the strip-failure branch formatted its error
with `status.code().unwrap()`, but `ExitStatus::code()` is `None` for a
signal-terminated process.
Branch on `status.code()`: keep the existing "exit code: N" message for a
normal non-zero exit, and use a new `install-error-strip-terminated` message
("strip process terminated abnormally") for the signal case — matching GNU,
which reports the same and exits 1. Adds the locale key to en-US and fr-FR and
a regression test.
A database file with a TERM/COLORTERM line whose value is an invalid glob
(e.g. an unclosed `[`) aborted dircolors with a Result::unwrap panic:
`fnmatch` did `parse_glob::from_str(pat).unwrap().matches(self)`, and
from_str returns Err for an unparseable pattern.
Use `is_ok_and`, so an invalid glob is treated as a non-match (and the
unmatched TERM section is skipped) instead of crashing — matching GNU, which
emits an empty LS_COLORS and exits 0.
Set Strength::Quaternary on the ICU collator so that punctuation like
hyphens sort before alphanumerics in UTF-8 locales, matching GNU sort
behavior.
Fixes#12542