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