Refactor credit/debit_amounts onto Plutus::Account

These functions are defined identically in every child class of
Plutus::Account, so they might as well be consolidated onto the base
class instead.
Refactor all balance calculations into Plutus::AmountsExtension

This uses the ActiveRecord associations extension feature to add
a #balance method onto the has_many :amounts relations.
Refactor Plutus::Transaction validation to use AmountsExtension

This reduces the number of different pieces of code that sums
Amounts, incidentally also catching a previously unnoticed bug in
Plutus::Transaction#difference_of_amounts, captured in the updated
spec.
Merge pull request #15 from willglynn/balance_refactoring

Balance refactoring