Implement error correction codes for base32 strings, using the CRC-5-USB polynomial. The encoder transforms 26-digit rfc-3548 strings into 31-digit z-base-32 strings, which are capable of recovering from any single-digit mutation, are visually distinctive, and protected against a wide variety of human-factor errors in the coding alphabet.
Switch to using error correction coded base32 for the normative transaction ID.
Add unit tests for base32 error correction codes.
Add unit tests demonstrating recovery from transcription errors.
Add unit tests for GetNormalizedHash method and getnormalizedtxid JSON-RPC call.
Add unit tests for converting to/from base_uint<BITS> and ecc32 values.