Write CachedDecoder, rename MemoizedObjective to CachedObjective, and add a comment to Individual.
Write CloneDecoder and add a reset() method to the PopulationMetric interface and all its implementations.
Update docs.