Cleaner CSV I/O implementation
Clean up of the I/O implementations based on dfe::namedtuple from external/dfelibs in preparation for future extensions. This incorporates the changes from @xai in !127 (closed).
Modifies the IReader interface to provide the available event range instead of just a number of events. Needed to support TrackML datasets which start at arbitrary event numbers.
Supersedes and closes !127 (closed).
Edited by Moritz Kiehn