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
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D34081