* Rewrites caching:
* Trolley no longer caches results by default, cleans up Trolley.
* Completely rewrites CachedSearcher to implement Searcher interface
* Caching is now optional by wrapping any searcher instance
* Caching is now time-based and done per DICOM object
* Adds query caching (previously only get_study_for_id)
* Makes reasoning about DICOM levels (study/series/instance) easier:
* Adds numeric value and comparison to DICOMObjectLevels
* Introduces DICOMObject.contained_references()
* Merges to_series_level_refs, to_instance_refs into to_refs(level)