redesign of digests model

This renames the DigestsFile to just Digests and simplifies its API.  The goal here is to better model the digests and how they are used by Dassets.

The rename is b/c it shouldn't matter that the digests are persisted to a file - they are just the digests.  The api simplifications are in preparation for the new compile command.

@jcredding ready for review.