[TDF] Template TInterface over the derived TDataSource type
[TDF] Template TInterface over the derived TDataSource type

This will allow, in the future, to optimize loading of entries
from TDataSources: `GetColumnReaders` does not have to pass through
virtual calls to `TDataSource` anymore, which means that concrete
TDS's can provide custom, possibly lazy column readers which
TInterface will use directly.

karies/root,olifre/root,root-mirror/root,root-mirror/root,root-mirror/root,root-mirror/root,root-mirror/root,root-mirror/root,karies/root,olifre/root,olifre/root,olifre/root,olifre/root,root-mirror/root,karies/root,karies/root,root-mirror/root,karies/root,olifre/root,karies/root,olifre/root,root-mirror/root,karies/root,root-mirror/root,karies/root,olifre/root,karies/root,olifre/root,root-mirror/root,karies/root,olifre/root,karies/root,olifre/root