check the repo does not change after a failed operation
add class Entity as Base
rename ValueError to BalanceError in Account#adjust
add old_active and old_frozen parameter to build balance_diff functions
refactor BalanceDiff
introduce BalanceDiff#__repr__
add OrderDealed#build