added getaddressesdiffsbyblock, with test

the latest function is quite an important one for eventually computing balances
of all addresses. This function gets the "diff" for each address from a block.
that is the amount that the address has gained or lost. now we can find the
balance for all addresses by simply summing the diffs from all blocks.

one caveat: it's important to recognize that a "balance" is only meaningful
for single signature transactions. bitcoins may appear to vanish if they
require two signatures to release, and or they may appear out of nowhere if
they come from a multisignature transaction.
updated test to support adding balances correctly