Split the decoding of cashaddr in a pure decode step + a Destination creation step
Summary: This allows for much more in depth testing, even for destination we don't have support for.
Test Plan: Added a bunch of unittests.
Reviewers: dagurval, schancel, freetrader, #bitcoin_abc
Reviewed By: dagurval, #bitcoin_abc
Differential Revision: https://reviews.bitcoinabc.org/D652