BUG: #2326 Fix tests and ENH: refactor sample data

The bug refers to failures of the py_vtkITKArchetypeScalarReaderFile
and py_vtkITKArchetypeDiffusionTensorReaderFile tests after
commit [1].  These tests relied on a side-effect of downloading
the sample data in order to determine the file to load
data from, but this was not reliable since the data was in a temp
directory.   Now the tests request the download directly.

The enhancement is that the sample data module now supports the
concept of categories of sample data sources, such that modules
can register their sample data.  This way a version of slicer can
offer sample data appropriate for use with the particular extensions
that have been installed.

[1] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22162

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22217 3bd1e089-480b-0410-8dfb-8563597acbee