Save hashes as binary, not hex strings

According to the documentation and the protobuf,
hashes should be 32-byte binary values.
Unfortunately, the code was storing them as 64-byte hex strings.
This commit fixes that.
Adapt to hash changes
Merge pull request #36 from libbitcoin/reverse

Base16