Add Describable interface for describing objects
Move dependency ordering to GraphtUtils
Implement deterministic keying for component cache (#488)
Make binary rating DAOs hashable (#488)
Make the simple file rating DAO describable
Make prefetching DAOs describable
Use component cache in integration tests
Implement a string description writer
Write component descriptions to debug output
Small description improvements
Test eval cache contents (#488)

Do some testing (and debug dumping) of the contents of the evaluation object cache in the integration tests for the evaluator.
Warning cleanup
Use Optional in component cache

This uses Optional, instead of a control flow exception, to deal with null values in the evaluator component cache.