Split key_io (address/key encodings) off from base58
Summary:
This is a partial backport of Core PR11372 : https://github.com/bitcoin/bitcoin/pull/11372/commits/119b0f85e2c8b9729228aad5d946144d57ad0f5b
It was altered to support CashAddr.
Test Plan:
make check
Reviewers: #bitcoin_abc, markblundeberg
Reviewed By: #bitcoin_abc, markblundeberg
Differential Revision: https://reviews.bitcoinabc.org/D3577