Significant refactor, setting up for new wallet types
Make __eq__ more strict
create_address uses new address() method
Add other wallet types and tests
Silence flakes
Merge branch 'many_wallet_types'