model the asset file

This abstracts how the asset md5 checksum is calculated and provides
in a convenient API.

This will be used the the digest subcommand when building the
digests file.
Merge pull request #3 from redding/kr-assetfile

model the asset file