This patch set refactors all digest implementations to their own modules, all interfaced through digest.c. All file operations and diagnostics are done in digest.c. All digests are made available through `cksum -a`. Also we add support for SM3 through `cksum -a sm3` only.
V2 changes: - Various small fixes to previous patch set. - Simplify b2sum specific code. - Add support for `cksum -c` to infer the algorithm from tagged checksums.