add bitcoin core base58key tests

This adds a bunch of tests from bitcoin core, and various fixes and features to make them pass. Some of the changes include:

- add isScript method to Address
- fix address validation issue (dB7cwYdcPSgiyAwKWL3JwCVwSk6epU2txw was considered valid)
- fix private key validation issue (7aQgR5DFQ25vyXmqZAWmnVCjL3PkBcdVkBUpjrjMTcghHx3E8wb was considered valid)