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
Build secpk256k1 from libbitcoin fork.
Add sodium dynamic option for with-pkgconfigdir.