wc: Clean up and modernize.
- Drop <err.h>, which is unnecessary since we use libxo.
- As per POSIX, report an error if output fails.
- Fix some type mismatches.
- Use bool instead of int where appropriate.
- Avoid repeatedly checking for a null filename.
- Miscellaneous other tidying.
- Add tests (partly derived from work performed by SHENG-YI HONG <i19780219111@kimo.com>).
Sponsored by: Klara, Inc.
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D38496