Block.js

Resolves https://github.com/bitcoinjs/bitcoinjs-lib/issues/279 .

The API right now is very simple, but provides the basic building blocks.
I'm not sure whether we should put merkle tree hashing in here or some where else.

Mostly this abstraction was created to be able to parse blocks, further functionality can be added when necessary?

@weilu thoughts?
Still conflicted on this.  But I think I'm going to err on the side of minimizing possible user error by providing it, and if we don't see usage we can deprecate it later?