Balance bug fix

Fix #59. `DoubleEntry::balance` and `DoubleEntry::account` now raise `DoubleEntry::AccountScopeMismatchError` if the scope provided is not of the same type in the account definition.

Eg:

```ruby
DoubleEntry.configure do |config|
  config.define_accounts do |accounts|
    user_scope = accounts.active_record_scope_identifier(User)
    accounts.define(identifier: :cash, scope_identifier: user_scope)
end

DoubleEntry.account(:cash, scope: User.new(id: 1)).balance  #=> Money.zero
DoubleEntry.balance(:cash, scope: User.new(id: 1)) #=> Money.zero

DoubleEntry.account(:cash, scope: Bank.new(id: 1)) #=> raise DoubleEntry::AccountScopeMismatchError
DoubleEntry.balance(:cash, scope: Bank.new(id: 1)) #=> raise DoubleEntry::AccountScopeMismatchError
```
@spickermann The only noticeable change, other than raising an exception when the wrong type of AR instance is used as scope, is the global reporting on balance of scoped accounts as defined by this spec.

Fortunately, this spec is flawed and the feature didn't actually work!