block.go: initial code and stubs for parsing blocks

This is an incomplete commit, but it reflects my current thinking about
parsing the block header.