typo
make receivePubkey compatible with dark wallet

I had been using this formula for the receiveKeypair:

scanKeypair + payloadKeypair + sharedKeypair

However, Dark Wallet uses this formula:

payloadKeypair + sharedKeypair

It is not actually necessary to add the scanKeypair in order to have all the
features of stealth addresses, at least as far as I can tell. So in order to
bring my implementation closer to Dark Wallet's, I have removed the scanKeypair
from this calculation.
make block reading more efficient

...by using streams. This way we don't load all the blocks before parsing them.
We parse them as we go.
block id

The block id is the reverse of the double sha256 hash of the blockheader.
transaction hash and id

...the hash is the usual hash, and the id is the reverse of that, which is what
is usually graphically displayed by bitcoind.
add .hash() function for a block

This is the plain old hash, which is a double sha256. The id of a block is the
reverse of this.
body is actually defined in the function
add fromString test for bip32

...since it was lacking any tests