Block: Added validation of proof of work, merkle tree and other interface changes. Closes #601

- Adds `validProofOfWork`, `validTimestamp`, `validMerkleRoot` and other validators.
- Adds `fromRawBlock` to instatiate from binary block data
- Modifies `.from*` methods to be statics.
- Adds `brfs` so that browser tests can load data from files
- Adds valid block test data
- Increases test coverage to ~100%