Split getBalanceAtBlock() into two new interfaces

For explorers where we can get a balance from a number of confirmations,
we now have ConfirmableCurrency.

For explorers where we can get a balance at a certain block count, we now
have BlockBalanceableCurrency.

For explorers that can provide a block count but not either of these
confirmable types, the currency does not have to implement either of
these.

Issue #381