This module contains trait definitions, examples, and test suites for AddressableContent and ContentAddressableStorage.
Implements a definition of what AddressableContent is by defining Content, defining Address, and defining the relationship between them. AddressableContent is a trait, meaning that it can be implemented for other structs. A test suite for AddressableContent is also implemented here.
ContentAddressableStorage (CAS) is defined here as a trait, such that there could be various implementations, such as the memory based, and file storage based implementations already in this code base. ContentAddressableStorage is a way of reading and writing AddressableContent in a persistent data store. A test suite for CAS is also implemented here.