This module defines the data model / structures the
crums.io time chain uses to vend out receipts
when it witnesses hashes. It uses the merkle-tree
library in the following way:
The tree's hashing algo is set to SHA-256; it's leaves are exactly 32-bytes wide.
Each leaf's 32-byte value is the SHA-256 hash of the concatenation of the witnessed hash and
the UTC time the hash was witnessed. This duo (hash and witness time) we called a crum.
Merkle proofs are augmented so that they include information about how the leaf hash in the
proof is computed (i.e. the crum). The augmented proof is called a crumtrail.
A REST client along with JSON parsers for these and other objects the service vends out is included.