Add unexplained_amount method to transaction
Fixed up Factories and tidied transaction spec
Add amount validation to explainations