sort: Fix message catalogue usage
- Check that catopen() succeeded before calling catclose(). musl will crash in the latter if the catalogue descriptor is -1.
- Keep the message catalogue open for most of sort(1)'s actual operation.
- Don't use catgets(3) to print error messages if catopen(3) had failed.
Reviewed by: arichardson, emaste
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 8d8b9b560afdf88f5537f259a4a14660d2a85b1f)