Base-32 error correction coding

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. Format is described in the following draft BIP:

https://gist.github.com/maaku/8996338#file-bip-ecc32-mediawiki