Add test to clarify equality/is behavior
Add test to smoke out contains problem in Ledger
Use composition instead of inheritance of list
Override __contains__ and fix add_transaction