Implement basic wallet

Resolves #10
Model a transaction with a change address

See #10