Improving testing data management for "self-test"

Currently, SampleData uses the same cache folder as vtkCacheManager and there is already some interference (vtkCacheManager deletes data downloaded by SampleData when cache limit is exceeded).

To allow SampleData module to work reliably, we would need to update the cache manager’s strategy of how to delete things and probably also add support for checksum computation. The rest could be implemented at higher level, in SampleData.

If we touch the cache manager, it would be a good opportunity to remove remote data support from MRML, as it would simplify things. I add a note to Slicer5 roadmap.