This patch removes the need for the intermediary Base58 type
CBitcoinAddress, by providing {Encode,Decode,IsValid}Destination
function that directly operate on the conversion between strings
and CTxDestination.
This is a port of https://github.com/bitcoin/bitcoin/pull/11117
Depends on D539