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.
Unwrap cache exceptions to meet expectations
Serialize correct object in component cache
Resolve @kluver's comments on #525

- Fix logging statement
- Clean up exception propagation
Merge pull request #525 from elehack/feature/elehack-488-deterministic-cache-names

Make cache file names deterministic